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.

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 lunes 14 de Akademy 2018 de Viena.

Resumen del BoF del lunes 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 lunes 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 comparticiendo 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:


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:

No, el evento no ha terminado, pero si su apartado de charlas públicas, quedando el resto de la semana para los grupos de trabajoº, talleres y encuentros sociales que cohesionan los equipos de trabajo. No obstante, el equipo de promoción de KDE ya ha hecho buena parte de sus deberes con lo que puedo escribir el siguiente resumen del domingo 12 de Akademy 2018 de Viena extraído de la página de noticias de oficial de la Comunidad KDE.

Resumen del domingo 12 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 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. Este resumen es un extracto del segundo artículo publicado por Devaja Shah en el dot.

Resumen del domingo 12 de Akademy 2018 de Viena

El segundo día de las charlas de Akademy 2018 de Viena empiezan con la ponencia principal a cargo de Claudia Garad, la directora ejecutiva de Wikimedia Austria, la cual habló tanto del estado de su proyecto como su relación de KDE, destacando el trabajo que hace la Comunidad en forma de eventos y Sprints.

Las charlas de la tarde fueron mucho más variadas y más centradas en los entornos de trabajo KDE. De esta forma tuvimos a Alan Pope de Canonical,  hablando de Snapcraft, una herramienta-web que hace que sea muy fácil crear paquetes para Linux.

También desatacan Oliver Smith, lider del proyecto postmarketOS, que habló del sistema operativo experimental basado en Alpine Linux y sus planes para la integración con Plasma Mobile.

Una de las charlas más esperadas por los usuarios corrió a cargo de David Edmundson que no solo nos predijo como será el  el escritorio Plasma en un futuro sino que que nos esbozó las difucultades que se van a ir encontrando por el camino. Además, destacó uno de los objetivos de Plasma: la plena integración con los navegadores web.

También fue protagonista Camilo Higuita que nos contó el progreso de su reproductor musical VVAVE, un ejemplo de la nueva generación de aplicaciones plenamente convergentes: escritorio Plasma y teléfono móvil. Por otra parte Camilo desveló que esto solo en el principio de un servicio de streaming de música libre.

Andreas Cord – Landwehr nos habló de Yocto y como construir imágenes y SDKs y crear dispositivos KDE. De forma similar, Volker Krause nos mostró una dispositivo basado en Raspberry Pi ejecutando Plasma Mobile.

Para finalizar el día, y antes de la entrega de los Akademy Awards de los que hablé el domingo, se reconoció públicamente la inestimable ayuda de los espónsors BlueSystems, Canonical, openSUSE, Red Hat, CodeThink y Mycroft.

Como dije ayer, no son todas las charlas que se realizaron pero si una muestra de lo que se cuece en en entorno KDE, un proyecto que crece y crece, ganando adeptos y seguidores día a día.

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

No, el evento no ha terminado, pero si su apartado de charlas públicas, quedando el resto de la semana para los grupos de trabajo, talleres y encuentros sociales que cohesionan los equipos de trabajo. No obstante, el equipo de promoción de KDE ya ha hecho buena parte de sus deberes con lo que puedo escribir el siguiente resumen del sábado 11 de Akademy 2018 de Viena extraído de la página de noticias de oficial de la Comunidad KDE.

Resumen del sábado 11 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 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. Este resumen es un extracto del artículo publicado por Devaja Shah en el dot.

Resumen del sábado 11 de Akademy 2018 de Viena

Como es habitual, la Akademy empezó con la bienvenida de Lydia Pintscher, presidenta de KDE e.V., la cual dio paso a la charla inaugural de Dan Bielefeld,  director técnico de Transitional Justice Working Group, que explicó su trabajo en Corea del Norte y su relación con el Software Libre, el cual es imprescindible para proporcionar la libertad que todos los seres humanos necesitamos.

Tras esta gran charla, fue Adriaan de Groot el que continuó  con el tema de la Privacidad en el entorno KDE, uno de pilares básicos para la Comunidad, haciendo especial hicapié en proyectos como Mycroft, crucial para protegernos de las grandes coorporaciones.

También fue protagonista KMail y la privacidad, con el estado de GnuPG en dicha aplicación, la cual goza de una integración bien alta, proporcionando al usuario la privacidad que se merece.

Con estas charlas queda patente que la privacidad de los datos de los usuarios es uno de los objetivos de la Comunidad KDE, la cual se compromete a crear y mantener aplicaciones que las respeten al máximo.

Por otra parte, fue Neofytos Kolokotronis el que habló de otro de los objetivos de KDE: atraer a nuevos colaboradores. Así que explicó los progresos realizados por su grupo de trabajo y sus objetivos futuro. Además, recibió algunos consejos para optimizar su trabajo: buena y clara documentación, mentorización de nuevos contribuyentes y construir puentes con otras comunidades.

Otras charlas destacadas fueron:

Evidentemente, no son todas las charlas que se realizaron pero si una muestra de lo que se cuece en en entorno KDE, un proyecto cada vez más diversificado.

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 BlueSystems, Canonical, openSUSE, Red Hat, 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.

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.

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..

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 ��




This week we’re all at Akademy–KDE’s yearly gathering of developers, designers, system administrators, and users. I’m giving a presentation later today about how we can make KDE Software irresistible!

As such, it as a bit of a lighter week for the Usability & Productivity initiative, what with all the preparation and conference-going, but we still managed to get quite a bit done. And all the in-person interactions are setting the stage for many more good things to come.


UI Polish & Improvement

Next week, your name could be in this list! Just check out, and find out how you can help be a part of something that really matters.

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. Also consider making a donation to the KDE e.V. foundation.

August 11, 2018 GSoC 2018 is in its last stretch now with only 3 days remaining!! Coming to the last week, the activity Note_names is finally developed and being tested on different platforms. Principle: This activity aims to teach sight reading the musical notes and their position on the staff by presenting several notes one-by-one with animation …

August 10, 2018

If you are interested in community data analytics, you will have several opportunities to discuss them during Akademy.

Firstly, there will be my talk titled Bringing Community Data Analysis Back to KDE (why the hell did I use "Analysis" there... I only used "Analytics" everywhere so far, odd). It will happen on Saturday at 15:30 in room IE7. The slot is a bit small for the topic, but I'll try my best to create interest. Indeed you can catch me around talks to chat about it, and...

Secondly, there will be a BoF "Discussing Community Data Analytics" on Monday at 10:30 in room 127. We hope to see people coming up with interesting questions to explore or willing to lend a hand in those explorations. See you there!

And of course it also means I'm on my way to Vienna, see you all during Akademy 2018!

I am Going to Akademy Banner

August 09, 2018

You probably have seen that Freenode has been getting lots of spam lately.

To protect against that some channels have activated a flag that only allows authenticated users to enter the channel.

If you're using the regular "nickserv" authentication way as I was doing, the authentication happens in parallel to entering the channels and you'll probably be rejected from joining some.

What you want is use SASL, that is a "new IRC" protocol that will first authenticate and then join the server/channels.

More info at

Thanks Fuchs on #kde-devel for enlightening me :)

And of course, I'm going to Akademy ;)

Hello everyone. GSoC is coming to its end, so I think that I should give a report about what's been done since the last post, and also make a brief evaluation, summary of the project itself. 

As I've written in my last post, the main focus was on improving the quality of the code, cleaning, optimizing and properly documenting it. And also making it more comestible for other developers. 

The next step was searching for bugs and then fixing them. In order to do this properly, I implemented a unit test for the main MQTT related features. This proved to be useful since it helped discover several hidden bugs and errors which were all corrected. The main features, that tests were developed for, are: checking if a topic contains another one, checking if two topics are "common topics" (meaning they only differ at only one level, and are the same size), managing messages, subscribing&unsubscribing.

As I said in the previous post, a problem was that LabPlot couldn't plot QDateTime, so using an index column was necessary. However, fortunately Alexander Semke, as he promised, dealt with the matter, so plotting of data from a single topic is now possible without needing any plus/additional data. I'm truly thankful to Alexander for this.

The main improvements were related to algorithms needed for subscribing and unsubscribing. This process is now more optimal, and I really hope that is bug-free, since a lot of time was spent on testing every possible scenario for this feature. Not only the algorithms were improved regarding this feature, but the user interface as well. Now we use two tree widgets, which really does look better than the previous list widget (used for listing subscriptions). Using the tree widget for listing subscriptions made room for further improvements. Now not only the subscription is listed, but if the subscription contains wildcards, then every topic contained by the subscription and present in the topic tree will be added as children of the subscription, in order to make the user's life easier. Searching for root subscriptions in the tree widget is possible just like in the case of the topic tree widget.
New UI for subscribing&unsubscribing

Another improvement is dealing properly with multiple MQTTClient objects, which wasn't quite alright at the time of the last post. Now it works fine, and the user can easily control each of the MQTTClients using the LiveDataDock. Another bug/absurdity was fixed. Namely, the user could add more MQTTClients with the same hostname, which is quite illogical (since the user can control every topic of a broker with a single MQTTClient). Another minor visual improvement is that an icon for MQTTClient and MQTTSubscripiton was added.
Dealing with multiple MQTTClients

As I presented the major improvements, I think it's high time I showed you a possible and practical use of the features developed and the benefits of LabPlot having MQTT support. MQTT, as I mentioned in earlier posts, is mainly used to communicate data collected by sensors. So if one had the possibility and adequate sensors, then one can save&plot data collected by those sensors. However, there are less sophisticated uses as well. As we all know our phones have quite a few sensors, which could be put to use. And there is an application for this, which can be used by everyone who owns a smartphone: Sensor Node Free. In the app the user can choose from multiple sensors, the data of which can be sent to a preferred MQTT broker using a preferred topic name. As you can see in the next picture.
Choosing the sensors, setting the broker and the topic name in the app

Of course, any app, that has these features, could be used (for example a fitness app), but my mentor suggested this one.  The data of these sensors will be ploted in the demo video. Almost every sensor sends data divided to x, y, z axis. These 3 will be shown in the same plot, their data set as Y value, and the QDateTime allocated to the values as X value. the curves based on data from x axis will be red, the y axis green, and the z axis purple. The plotting was done for a while before starting to record the video. So here is the demo video:

Demo video

And finally here comes the evaluation/summary. I truly think that every feature presented in my proposal is implemented and working. So I think the main aim is met: LabPlot now has full support for MQTT. There were difficulties along the way, but with work, and help from my mentor, everything was dealt with. As I said everything works, but some unforeseen bugs or errors might appear in the future. Some steps for the future may be to improve the overall performance of the new features.

Working on this project for the last 3 months has been a very great experience, and I can honestly say that I improved my coding skills and way of thinking in a way I haven't even dreamt for. I'm more than grateful to my mentor, Kristóf, who always helped me and had my back if I encountered any hardship. I'd also like to express my gratitude towards Alexander Semke, my mentor's former mentor and an invaluable member of the LabPlot team, who also helped me a great deal. I am determined to further improve the features, even after GSoC ended. I would be more than happy to stay in this amazing team and help them whenever they need me. It's my goal for next summer to join GSoC  again and work on LabPlot with Kristof, since I really liked being part of this team. I truly think that people should contribute more to the open source community, and the end of GSoC shouldn't mean the end of the involvement as well.

This is it, guys. Thank you for reading the post, and thank you for your interest in my project. If there's any development regarding my project or a new task (in the future) I'll let you know here. Bye :)

Hello Planet,

It has been some time. I come back from the shadows to announce the release of Ring-KDE 3.0.0, A GNU client. GNU Ring is a secure and distributed communication platform based on open standards. It weaves industry standard technologies to work together and provides audio calls, video conferences, chat, screen sharing and peer to peer file transfer between you and your friends. Additionally, its use of open standards allows to bridge to various other systems like the main phone network or SIP compatible devices.

When joining the GNU Ring, no servers or centralized accounts are needed. Beside an optional blockchain-based way to reserve your username against takeover, nothing leaves your device. All your data is kept under your control. Ring-KDE provides a simple wizard to help you create credentials or import your personal information from other devices.

This release is a full rewrite of the application to use more modern technologies such as touch support, QtQuick2 and KDE Kirigami adaptive widget framework. The old Ring-KDE was a fork of an older KDE application called SFLPhone. At the time, it was focused on being a office phone replacement for your KDE desktop instead of being a more generic multimedia communication software.

The screenshots below show the old SFLPhone/Ring-KDE 2.x versus Ring-KDE 3.0.0:


This blog entry wont try to list every single change from the 2.x series because
that’s too much amazement for a single post. A more useful introduction is how to use it.

Ring 2.x and the older SFLPhone versions used mostly the history and address book to select who to call. This made sense for a phone, but the newly expanded scope changes this. While they are both still available, from now on, the user interface is based on the timeline concept:


Version 3.x also has better support for video, screen sharing and file streaming.


Most relevant audio call features have been ported to the new application including multi-call support, hold, recording and notifications:


The basic chat support has been replaced with an integrated timeline that contains all the calls, chat messages, video capture, recordings and eventually file transfer and images.


Navigation has been revamped and is now using a search box as the primary way of finding your friends. It uses locally stored data to avoid uploading too much potentially private information to the cloud. Only looking for registered user names normally uses the internet. It is optionally possible to download this information locally, but it uses more disk, CPU and network resources to keep up-to-date.


In the immediate future, the next few versions will try to fix bug, improve performance and catch up with recent improvements to Kirigami2, KDE own touch-friendly set of widgets and application design guidelines. Since beginning to work on Ring-KDE 3, Kirigami has made great progress, but Ring-KDE 3.0 still mostly reflects the state of the art from a year ago.



Ring-KDE can be built from source if the ring-daemon is also built from source. The source code for Ring-KDE 3.0.0 can be downloaded here.

For everyone else, Ring-KDE is available as an easy to use AppImage:

To use the AppImage, download it, right click, choose Properties -> Permissions and check “is executable”, Then open the file. When using the AppImage, no other dependencies are required. If you also have another GNU like the Gnome client, please close it and run “killall dring” before executing the AppImage to avoid conflicts between the two versions.


August 08, 2018

Hi everyone, The coding period phase three is now completed. After the second evaluation, Poppler’s maintainer Albert Astals Cid commented on my bug report stating that the current parsing and creation of DA string is handled by Qt5 frontend whereas the API should be changed and the creation and parsing of the DA string and font … 

The post GSoC :: Coding Period – Phase Three (July 8th to August 6th): Create and parse DA string in poppler-core and font family implementation appeared first on Dileep Sankhla.

Before getting started with Poppler, let’s first understand the PDF structure and different terminologies used. Annotations are PDF objects that enable user-clickable actions as well as contents text or other graphics and media. The following is a snippet of FreeText annotation created on a PDF page in Acrobat Reader. It is in the decompressed form: … 

The post FreeText Annotation :: Font family implementation in Poppler appeared first on Dileep Sankhla.

A lovely lunch and a shared afternoon and evening with Ade was a pleasant interlude in our time together here in beautiful Deventer. We changed tables a few times to avoid the sun! Last night we were wakened at around 2am with wind blowing rain into the open windows, which was quite exciting. Thunder roared in the south. It was still quite cool and breezy this morning so we ate inside.

After lunch, Boud proposed a walk around the town while the temperatures were moderate. We walked over much of the old town of Deventer, and spend some time in the Roman Catholic church, the old church on the "hill" with twin spires, the old Brush Shop, and back past the Weighing House and a lovely cast bronze map of Deventer.

Our favorite tree:

The Roman Catholic church whose steeple we see from the terrace:

On the wall of the Weighing House:

Our little corner of Deventer:

Tomorrow we travel by fast train to Vienna! I hope there is time to drink a cup of coffee. :-)

So, After a month-long delay, I finally managed to got my VISA approved, it was a really close call. I reached the VISA agency, today for receiving my application and after opening the application, I saw my visa on my passport! So yes I am coming to Akademy, this will be my first Akademy to attend, I am really excited to meet my mentors and all the people who make KDE awesome :D. Looking forward to attend, all the events, workshop and see the beautiful Vienna city!

Little about me: I was selected for this year’s GSoC project for Fwupd-Integration in Discover Software Center.

Google Summer of Code with KDE

Hey everyone, one more month has passed now, Fwupd-Backend is now finally merged in discover master branch, though it took quite a number of changes. This post will relatively small as in the past month I have worked mainly on fixing the mistakes and improving the code and getting it merged.

#1 Phabricator Merge diff: ( ) This is the phabricator request, for merging the code into the master( commit: a30850900bbf9487f08bd43d988267e2ec034fd0).

#2 CI fail after Merging:  So after the code was merged the build started to fail on the CI system, the main problem behind that was some issue in the findLIBFWUPD.cmake code and the backend dependency was not installed on CI system, For it, I added the request for sys-admins ( Though I violated some community code, the dependency got installed in CI system, thanks to bcooksley, (link:, also thanks to adridg for pointing out the issue in my License in the cmake file, I fixed that in the (commit: 03aeb5ba2077c344b5de38ec37858a3603b07733) with some other fixes.

It was fun working with the KDE community, special thanks to my mentors Aleix Pol and David Edmundson, for guiding me throughout this summer break very much thanks to people at IRC for entertaining my problems!

It’s not a goodbye, I am currently working on another project for driver management which will use Linux driver management ( libraries to enumerate and discover devices and provide the suitable drivers for their hardware! (, currently, the only temporary file structure is added, still, a long way to go!

Disclaimer: The Fwupd-Backend code is not been tested on a real device, may contain issues.

FeedBack Feel free to write comments below!


Our QA tests have turned green which means we have switched on the preview publishing for the KDE neon Installable Images based on Bionic.

 Download installable ISO images

A reminder of what the different editions mean:

  • User: Packages continuously built from latest releases.  Use this edition if you are uncertain.
  • Developer Edition Git Stable Branches: Built continuously from Git beta and stable branches.  Use this edition to test beta and forthcoming code which has not gone through QA.
  • Developer Edition Git Unstable Branches: Built continuously from Git unstable branches.  Use this edition to test forthcoming feature code which has not gone through QA.

Remember this is still a preview in testing.  Upgrade testing will be announced shortly and final expected sometime after. Read the release notes. Give us feedback on the KDE forums or by filing specific bugs and keep and eye on the todo board to track us.

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.