March 24, 2017

Hi all, I have an awesome laptop I bought from my son, a hardcore gamer. So used, but also very beefy and well-cared-for. Lately, however, it has begun to freeze, by which I mean: the screen is not updated, and no keyboard inputs are accepted. So I can't even REISUB; the only cure is the power button.

I like to leave my laptop running overnight for a few reasons -- to get IRC posts while I sleep, to serve *ubuntu ISO torrents, and to run Folding@Home.

Attempting to cure the freezing, I've updated my graphics driver, rolled back to an older kernel, removed my beloved Folding@Home application, turned on the fan overnight, all to no avail. After adding lm-sensors and such, it didn't seem likely to be overheating, but I'd like to be sure about that.

Lately I turned off screen dimming at night and left a konsole window on the desktop running `top`. This morning I found a freeze again, with nothing apparent in the top readout:

So I went looking on the internet and found this super post: Using KSysGuard: System monitor tool for KDE. The first problem was that when I hit Control+Escape, I could not see the System Load tab he mentioned or any way to create a custom tab. However, when I started Ksysguard from the commandline, it matches the screenshots in the blog.

Here is my custom tab:

So tonight I'll leave that on my screen along with konsole running `top` and see if there is any more useful information. quite possibly has one of the largest open-source websites compared to any other desktop-oriented project, extending beyond into applications, wikis, guides, and much more. The amount of content is dizzying and indeed a huge chunk of that content is about as old as the mascot Kandalf – figuratively and literally.

KandalfI personally believe he’s ripped under that cloak.

The user-facing design “Aether” is live and various kinks have been worked out, but one fact is glaringly obvious; we’ve made the layers of age and look better by adding another layer. Ultimately the real fix is migrating the site to Drupal, so I figured this post would cover some of the thoughts and progress behind the ongoing work.

Right now work is on porting the Aether theme to Drupal 8, ideally it’ll be “better than perfect port” with Drupal optimizations, making better use of Bootstrap 4, and refinements. Additionally, I’m preparing a “Neverland-style” template for those planning to use Aether on their KDE-related project sites, but it’s more of a side-project until the Drupal theme lands. Recently the theme was changed to use Bootsraps’ Barrio base theme, which has been a very pleasant decision as we get much more “out of the box”. It does require a Bootstrap library module which will allow local or CDN-based Bootstrap installations, and while at first I was asking “why can’t a theme just be self-contained?”, now I’m understanding the logic – Bootstrap is popular, multiple themes use it, this will keep it all up-to-date and can be updated itself. I do think maybe one thing Drupal should do is have some rudimentary package management that says “hey, we also need to download this”, but it’s easy enough to install separately.

If you have a project website looking to port to Aether, I would first advise you simply waiting until you can consider moving your page to the main Drupal installation when it eventually goes live; in my perfect world I imagine Drupal unifying a great amount of disparate content, thus getting free updates. Additionally, consider hitting up the KDE-www mailing list and ask to help out on content, or place feature requests for front-end UI elements. While I’m currently lurking the mailing list, I’ll try to provide whatever info I can. On an aside, I had some Telegram confusion with some people looking to contribute and concerns from administrators, so please simply defer to the mailing list.

In terms of the Aether theme, I will be posting the basic theme on our git repo; when it goes up if you have Bootstrap and Twig experience (any at all is more than I had when I started), please consider contributing, especially if you maintain a page and would migrate to Drupal if it had the appropriate featureset. I will post a tiny follow-up when the repo is up.






I’m sorry that $feature behaves differently to how you expect it. But it’s the way it is and that’s by design. The feature work exactly as it’s supposed to work. I’m sorry, this won’t be changed.


With decisions like that, no wonder KDE is still a broken mess.

I wonder why the hell I even bother reporting issues. Bugs are by design these days.

Never again.

Have a nice life.

A week ago I received my Raspberry Pi Zero W to play a bit with some IoT device. The specs of this small device computer are the following:

  • 1GHz, single-core CPU
  • 512MB RAM
  • Mini HDMI and USB On-The-Go ports
  • Micro USB power
  • HAT-compatible 40-pin header
  • Composite video and reset headers
  • CSI camera connector

But the interesting part comes with the connectivity:

  • 802.11 b/g/n wireless LAN
  • Bluetooth 4.1
  • Bluetooth Low Energy (BLE)

And especially from one of the hidden features that allows one to use the device as a headless device and connect using SSH over USB adding the following line to config.txt:
And modifying the file cmdline.txt to add:

remember to create a file called ssh to enable SSH access to your Raspberry Pi. There are plenty tutorials over the Internet showing this! ��

To build a Qt version for the device you can follow this guide.
In the following screen shot, we can see the calqlatr example running directly on the Raspberry Pi:


One of the use cases which comes to my mind using this device and this feature is being able to create portable presentations and show them on any computer without the need of installing new software.


For the presentation, I used the qml-presentation-system (link).

More use cases could be:

  • Application showcase.
  • Custom text editor for taking your notes everywhere.

Please comment if you have other ideas or use cases.

The post WebGL streaming in a Raspberry PI Zero W appeared first on Qt Blog.

March 23, 2017

Today the Kubuntu team is happy to announce that Kubuntu Zesty Zapus (17.04) Beta 2 is released . With this Beta 2 pre-release, you can see and test what we are preparing for 17.04, which we will be releasing April 13, 2017.

Kubuntu 17.04 Beta 2


NOTE: This is Beta 2 Release. Kubuntu Beta Releases are NOT recommended for:

* Regular users who are not aware of pre-release issues
* Anyone who needs a stable system
* Anyone uncomfortable running a possibly frequently broken system
* Anyone in a production environment with data or work-flows that need to be reliable

Getting Kubuntu 17.04 Beta 2:
* Upgrade from 16.10: run `do-release-upgrade -d` from a command line.
* Download a bootable image (ISO) and put it onto a DVD or USB Drive :

Release notes:

Los años no pasan, vuelan. KDE Blog  llega a su noveno aniversario este 2017, lo que significa que he compartido mis conocimientos y experiencias sobre KDE y GNU/Linux en forma de más de 4200 artículos. Un aniversario que me gusta también compartir con vosotros porque este blog se ha convertido en uno de los pilares de mi vida y considero a los lectores como amigos virtuales.

KDE Blog llega a su noveno aniversario

KDE Blog llega a su noveno aniversarioEn 2008, tras unos años disfrutando del mundo del Software Libre, consideré que le debía devolver algo de lo que me había dado. De esta forma pensé que la única forma con la que podía ayudar a este mundo del conocimiento libren era mediante la creación de un blog que ayudara a la difusión de las bondades del mismo.

Y eso que no me consideraba un experto, ni mucho menos, simplemente pensé que al no ser un experto y trabajar como docente me convertía en una persona ideal para poder explicar a otros novatos como yo cómo hacer cosas con Software Libre al tiempo que dejaba plasmadas mis soluciones a mis problemas de una forma pública.

Así que el 24 de marzo de 2008 nació KDE Blog. Fue un parto sencillo, me bastó comentarlo con mi compañero virtual Daniel Moreno, que me proporcionó el alojamiento, reunr  unas cuantas entradas cuya finalidad era introducir a los lectores en el mundo GNU/Linux y el valor suficiente para salir de mi zona de confort y empezar a publicar de forma diaria noticias sobre KDE y sus distribuciones. Y quiero destacar “mi obligación” de publicar de forma diaria una entrada ya que fue la forma de crear un hábito en mi trabajo y que este proyecto no muriera.

Declaración de intenciones de KDE Blog

[24 de marzo de 2008]
Hola a todos y todas: Hoy se inaugura KDE Blog un nuevo blog en el inmenso e infinito mundo de los blogs. El objetivo de este blog es múltiple: ayudar a los principiantes en el mundo Linux, informar sobre el mundo KDE, (el entorno de escritorio de bajo Linux) y fomentar el uso del Software Libre.

A lo largo de estos 8 años he ido publicando entradas conmemorativas que podéis seguir en la siguiente etiqueta y este año no he querido ser menos. Pero no me voy a repetir, así que os remito a la entrada del año pasado para leer el resumen de las entradas anteriores, y este año me dedicaré a repasar mi año como humilde profeta del Conocimiento Compartido.

Mi año como activista del Software Libre

Desde hace un tiempo, mi resumen anual no lo hago el 31 de diciembre sino que he decidido hacerlo en marzo, para celebrar el aniversario del blog. En esta ocasión he decidido dividir el resumen en tres apartados: el blog, mi entorno y KDE España.

Mi actividad virtual con el blog.

KDE blog cuadradoEste año no ha sido de los peores en cuanto a tiempo disponible. Tal y como anticipé el año pasado, poco a poco estoy recuperando ese tiempo delante del PC necesario para hacer artículos de una calidad decente.

De esta forma, un año más he conseguido mantener el ritmo de una entrada diaria, incluso teniendo durante mucho tiempo unos artículos en la recamara para sacarlos en tiempos más duros. Ha ayudado mucho el hecho de que este año hay asido prolífico en noticias sobre KDE: el 20 aniversario de KDE, los múltiples eventos del Softwae Libre, la aparición de KDE Slimbook, mi participación más activa en KDE España, decenas de actualizaciones, etc.

Ah, casi se me olvida, el blog tuvo su reconocimiento con el Premio al mejor medio de los Open Awards 2016 en la OpenExpo 2016, al cual este año no he podido presentarme por motivos de causa mayor.

Mi actividad en mi entorno

Respecto a este aspecto sigo teniendo dos frentes: mi entorno como persona y mi papel como organizador de las Jornades Lliures de la UNED de Vila-real.

Cada día que pasa soy un poco más abierto en mi promoción con el Software Libre. A nivel laboral defiendo todos los días y a todos los miembros de la Comunidad Educativa (alumnos, profesores, familias, instituciones, etc) la Comunidad GNU/Linux y KDE: sus distribuciones, sus aplicaciones, sus formatos libres, etc. Reivindicando las libertades para los usuarios y las ventajas para la sociedad.

De esta forma, sigue aumentando el número de usuarios que utilizan distribuciones Linux a mi alrededor. Quizá sea el momento de dar otro paso y ser más activo para con las personas qu todavía no se deciden.

No obstante las V Jornadas y Talleres Libres, no están siendo satisfactorias. Las razones son la baja asistencia de público y algunas ponencias canceladas.

Finalmente está pesando más la falta de promoción e innovación que las ganas de continuar. Así que , me estoy pensando muy seriamente coger una año sabático con esta iniciativa. Creo que necesito un grupo de personas para seguir adelante ya que no veo los resultados esperados.

Mi actividad con KDE España

En esta  ocasión creo que mi actividad con la asociación está llena de logros, en parte por el gran grupo de personas que la forma y que siempre están dispuestas a colaborar en mejorarla.

Dentro de KDE España tengo dos funciones ya que además de ser el coordinador del Grupo de Comunicación, este año he recibido el encargo de ser el Secretario, lo cual implica atender a ciertos encargos organizativos como la gestión de miembros y redactar las actas de las reuniones.

Además, mi implicación en los Podcast de KDE España es muy activa, tanto como organizador de las mismas como participante en todas las emisiones. Se trata de un medio que resulta muy atractivo y que engancha.

No quisiera desaprovechar la entrada para animaros a seguirnos en cualquiera de las siguientes redes donde KDE España estamos presentes:

Además, aprovecho para invitaros también a ver o escuchar los podcast que solemos hacer mensualmente algunos miembros de la Comunidad KDE España en la que hablamos de diversos temas relacionados con el Software Libre y que ya ha llegado a su tercera temporada.

Por último, invitaros al próximo Akademy-es y Akademy que se celebará en Almería y que promete ser otro gran evento al cual espero poder asistir.

 Renovación de votos

Y siguiendo la tradición quiero hacer público mi idea sobre la marcha del blog y de mi compromiso con el Software Libre para el próximo año y anunciar que:

  • KDE Blog sigue teniendo cuerda para muchos años,
  • Sigo estando cada día un poco más ilusionado con el proyecto KDE y en su difusión, empiezo a pensar en que cada vez está más cerca en el momento en que quiera convertir a Castellón, como provincia, en un referente del Software Libre como es Barcelona, A Coruña, Bilbao o Málaga.
  • Sigo abierto a todo tipo de colaboraciones (¿quieres ayudar a publicar en el blog? ¿Encargarte de la parte social? ¿Mejorar las entradas? Mándame un correo [] y hablamos)
  • Y para finalizar decir que me siento orgulloso de pertenecer a un movimiento cuyo objetivo es compartir su conocimiento en pro de una evolución más rápida de la humanidad, que se concreta en pertenecer a una Asociación de Software Libre como KDE España.

Así que:

¡Muchísimas gracias a todos por seguirme y nos vemos en Akademy-es de Almería!

Now that Qt 5.9 is getting closer, let’s take a look at a minor but immensely useful improvement to the basic OpenGL enablers that form the foundation of Qt Quick and the optional OpenGL-based rendering path of QPainter.

Those looking at the documentation snapshots for 5.9 may have already come across some new functions in the venerable QOpenGLShaderProgram. What is more, most internal usages in Qt have been switched over to the new API. What does this mean in practice?

As explained here, such shader programs will attempt to cache the program binaries on disk using GL_ARB_get_program_binary or the standard equivalents in OpenGL ES 3.0. When no support is provided by the driver, the behavior is equivalent to the non-cached case. The files are stored in the global or per-process cache location, whichever is writable. The result is a nice boost in performance when a program is created with the same shader sources next time.

How big is the improvement? It varies. Some drivers have already been doing some sort of caching for the past couple of years, while some others have similar features in the pipeline. However, the gains turn out to be quite significant in practice on devices that are out in the field right now:


Do not read too much into the actual numbers. What is important is the difference between Qt 5.8 and 5.9. Also, a simple Qt Quick or GL-backed QPainter scene will definitely not use 10 programs, but as complexity grows, with Qt Graphical Effects and custom ShaderEffect items entering the picture, getting similar improvements does not look far fetched anymore.

In fact we gain something even on systems that employ shader caching already. Therefore every application’s startup and view switching times are expected to benefit with Qt 5.9 – without having to change anything.

Applications that use QOpenGLShaderProgram on their own can usually switch to the cacheable function variants by just changing the name in the function call. The change have to be a conscious decision, though, since some of the APIs change semantics when program binaries are used. Most notably, QOpenGLShader, addShader(), and removeShader() are incompatible with the program-level caching since they rely on individual shader compilation.

That’s it for now, stay tuned for more posts about exciting upcoming Qt 5.9 and 5.10 features.

The post Boosting performance with shader binary caching in Qt 5.9 appeared first on Qt Blog.

A raíz de presentaros hace unos días el curso de Audacity de Podcast Linux, pensé que no estaría de más dar la mayor publicidad posible a este proyecto De esta forma me he decidido realizar una entrada en el blog promoviendo cada uno de los capítulos que ha creado el gran Juan Febles. Así pues, bienvenidos al episodio del Curso de Audacity de Podcast Linux #01 Graba y edita tu voz con el que se inicia esta más que interesante serie.

Curso de Audacity de Podcast Linux #01 Graba y edita tu voz

Curso de Audacity de Podcast Linux #01 Graba y edita tu vozEn el primer capítulo del curso de Audacity, que Juan ha titulado “Graba y edita tu voz” se nos plantean las bases del proyecto, explicando el nacimiento del mismo, así como las fuentes en las que se ha basado para realizar el mismo, que no son otras que el Curso básico de Audacity de 9 decibelios realizado por David Arribas y la serie de vídeos titulada Manuel Audacity del gran Juan Luis Fernández Gallo, conocido como Jenofonte.

También en este episodio nos recomienda el tipo de micrófonos más adecuado para la realización de podcast, que para él son los dinámicos, y explica las conexiones de su micrófono actual. Del mismo modo, nos explica los consejos básicas para realizar un correcto registro de nuestra voz: ambiente de grabación, distancia y posición respecto al micrófono, disminuir eco gracias a estanterías con libros, espumas amortiguadoras de sonidos explosivos, etc.

Tras esas explicaciones, Juan se encarga de mostrarnos las partes básicas de Audacity como el medidor de decibelios o el registro de su propia voz en forma de onda sonora. Posteriormente nos muestra algunos retoques que realiza sobre dicha grabación: eliminación del  ruido de ambiente, realzar las zonas más bajas gracias Chris’s Dynamic Compressor, ecualizar un poco su voz y limitar las zonas con alta intensidad sonora.


Sin más, os dejo disfrutar de la visualización del vídeo:

Más información: Curso de Audacity de Podcast Linux #01 Graba y edita tu voz

I am glad to announce the release of KStars 2.7.6 release for Windows & OSX. Linux users using the official PPA can install the latest release as well.

In this release, we introduce the Ekos Mount Modelling tool developed by Robert Lancaster. It's currently in Beta now and we would appreciate any feedback. The tool enables you to build a comprehensive mount model if supported by your mount. Any mount that improves its internal pointing model after a SYNC command is applicable. Furthermore, INDI mounts that supports INDI Alignment Subsystem (EQMod, Nexstarevo, Synscan..etc) are also applicable.

Along with the advanced mount modelling tool comes the new Solution Results plot in the Align Module. It displays the quality of your GOTO after each solve and it can help you to identify if there are issues with your mount or the quality of the image..etc.

You can zoom, pan, and drag to explore the plot in details. Annotation for the quality of each GOTO is available on mouse over.

Ekos Polar Alignment Assistant tool also received a few bug fixes from the community feedback. Most users were able to achieve impressive results using the this easy to use Polar Alignment tool.

While Ekos is designed for ease of use, it can be intimidating for new users unfamiliar with the architecture of Ekos/INDI on several operation systems. Therefore, a new Ekos Profile Wizard is now available to guide the users to setting up their equipment for the first time in Ekos across several operating systems and connection topologies.

With INDI v1.4.1+, figuring out which port to use for your mount & focuser is now trivial across Linux & OSX. INDI automatically scans ports on your system and can even automatically connect to all potential available ports as well until a successful connection is established.

Last, but not least, KStars' NEO (Near-Earth-Object) data query from NASA's JPL is now properly working again thanks to our newest KStars developer Valentin Boettcher. Valentin (aka Hiro) is only 18 years old but is quite brilliant and experienced with KDE/Qt development environment. Welcome abroad!

March 22, 2017

One of my pet peeves with teaching FP in C++ is that if we want to have efficient code, we need to catch functions and other callable objects as template arguments.

Because of this, we do not have function signatures that are self-documenting. Consider a function that outputs items that satisfy a predicate to the standard output:

template <typename Predicate>
void write_if(const std::vector<int> &xs, Predicate p) {
                 std::ostream_iterator<int>(std::cout, " "));

We see that the template parameter is named Predicate, so we can imply that it needs to return a bool (or something convertible to bool), and we can deduce from the function name and the type of the first argument that it should be a function that takes an int.

This is a lot of reasoning just to be able to tell what we can pass to the function.

For this reason, Bartosz uses std::function in his blog posts – it tells us exactly which functions we can pass in. But std::function is slow.

So, we either need to have a bad API or a slow API.

With concepts, the things will change.

We will be able to define a really short (and a bit dirty) concept that will check whether the functions we get are of the right signature:

Edit: Changed the concept name to Callable to fit the naming in the standard [func.def] since it supports any callable, not just function objects

template <typename F, typename CallableSignature>
concept bool Callable =
    std::is_convertible<F, std::function<CallableSignature>>::value;

void foo(Callable<int(int)> f)
   // or Callable<auto (int) -> int>
        std::cout << std::invoke(f, 42) << std::endl;

We will be able to call foo with any callable that looks like a int-to-int function. And we will get an error ‘constraint Callable<int(int)> is not satisfied’ for those that do not have the matching signature.

An alternative approach is to use std::is_invocable type trait (thanks Agustín Bergé for writing the original proposal and pointing me to it). It will provide us with a cleaner definition for the concept, though the usage syntax will have to be a bit different if we want to keep the concept definition short and succulent.

template <typename F, typename R, typename ...Args>
concept bool Callable =
    std::is_invocable<R, F, Args...>::value;

void foo(Callable<int, int> f)
    std::cout << std::invoke(f, 42) << std::endl;

When we get concepts (C++20, hopefully), we will have the best of both worlds – we will have an optimal way to accept callable objects as function arguments, and not sacrificing the API to do it.

Book discount

Today, Functional Programming in C++ is again the Deal of the Day – you get half off if you use the code dotd032317au at


KDE Project:

Are you looking for a C++/Qt/Linux developer job in Germany ?
Then maybe this is something for you: Sharp Reflections

I'm looking forward to hear from you. :-)

A few months ago, Helio blogged about building KDE 1 (again) on modern systems. So recently while cleaning up some boxes of old books, I found the corresponding books — which shows that there was a time that there was a market for writing books about the Linux desktop.

Particularly the top book, “Using KDE” by Nicholas Wells, is interesting. The first page I opened it up to was a pointer to the KDE Translation teams, and information on how to contribute, how to get in touch with the translation teams, etc. You can still find the translation info online, although the location has changed since 2000.

There’s also tips and tricks on getting your .xinitrc right, and how to safely fall back to twm. I find this amusing, because I still use the same techniques when testing new Plasma 5 packages in a FreeBSD VM. It’s good that the old standalone twm is still there, but it would be much more amusing to fall back to KDE 1.1.2 if Plasma 5 doesn’t start right, I think.

I did a day’s training at the FLOSS UK conference in Manchester on Chef. Anthony Hodson came from Chef (a company with over 200 employees) to provide this intermediate training which covered writing receipes using test driven development.  Thanks to Chef and Anthony and FLOSS UK for providing it cheap.  Here’s some notes for my own interest and anyone else who cares.

Using chef generate we started a new cookbook called http.

This cookbook contains a .kitchen.yml file.  Test Kitchen is a chef tool to run tests on chef recipes.  ‘kitchen list’ will show the machines it’s configured to run.  Default uses Virtualbox and centos/ubuntu.  Can be changed to Docker or whatever.  ‘kitchen create’ will make them. ‘kitchen converge to deploy. ‘kitchen login’ to log into v-machine. ‘kitchen verify’ run tests.  ‘kitchen test’ will destroy then setup and verify, takes a bit longer.

Write the test first.  If you’re not sure what the test should be write stub/placeholder statements for what you do know then work out the code.

ChefSpec (an RSpec language) is the in memory unit tests for receipes, it’s quicker and does finer grained tests than the Kitchen tests (which use InSpec and do black box tests on the final result).  Run with  chef exec rspec ../default-spec.rb  rspec shows a * for a stub.

Beware if a test passes first time, it might be a false positive.

ohai is a standalone or chef client tool which detects the node attributes and passes to the chef client.  We didn’t get onto this as it was for a follow on day.

Pry is a Ruby debugger.  It’s a Gem and part of chefdk.

To debug recipes use pry in the receipe, drops you into a debug prompt for checking the values are what you think they are.

I still find deploying chef a nightmare, it won’t install in the normal way on my preferred Scaleway server because they’re ARM, by default it needs a Chef server but you can just use chef-client with –local-mode and then there’s chef solo, chef zero and knife solo which all do things that I haven’t quite got my head round.  All interesting to learn anyway.


Facebooktwittergoogle_pluslinkedinby feather

Ryou is the amazing artist from Japan who made the Kiki plastic model. Thanks to Tyson Tan, we now have an interview with him!

Can you tell us something about yourself?

I’m Ito Ryou-ichi (Ryou), a Japanese professional modeler and figure sculptor. I work for the model hobby magazine 月刊モデルグラフィックス (Model Graphics Monthly), writing columns, building guides as well as making model samples.

When did you begin making models like this?

Building plastic models has been my hobby since I was a kid. Back then I liked building robot models from anime titles like the Gundam series. When I grew up, I once worked as a manga artist, but the job didn’t work out for me, so I became a modeler/sculptor around my 30s (in the 2000s). That said, I still love drawing pictures and manga!

How do you design them?

Being a former manga artist, I like to articulate my figure design from a manga character design perspective. First I determine the character’s general impression, then collect information like clothing style and other stuff to match that impression. Using those references, I draw several iterations until I feel comfortable with the whole result.

Although I like human and robot characters in general, my favorite has to be kemono (Japanese style furry characters). A niche genre indeed, especially in the modeling scene — you don’t see many of those figures around. But to me, it feels like a challenge in which I can make the best use of my taste and skills.

How do you make the prototypes? And how were they produced?

There are many ways of prototyping a figure. I have been using epoxy putty sculpting most of the time. First I make the figure’s skeleton using metallic wires, then put epoxy putty around the skeleton to make a crude shape for the body. I then use art knives and other tools to do the sculpting work, slowly making all the details according to the design arts. A trusty old “analogue approach” if you will. In contrast, I have been trying the digital approach with ZBrushCore as well. Although I’m still learning, I can now make something like a head out of it.

In case of Kiki’s figure (and most of my figures), the final product is known as a “Garage Kit” — a box of unassembled, unpainted resin parts. The buyer builds and paints the figure by themselves. To turn the prototype into a garage kit, the finished prototype must first be broken into a few individual parts, make sure they have casting friendly shapes. Silicon-based rubber is then used to make molds out of those parts. Finally, flowing synthetic resin is injected into the molds and parts are harvested after the injected resin settled. This method is called “resin casting”. Although I can cast them at home by myself, I often commission a professional workshop to do it for me. It costs more that way, but they can produce parts of higher quality in large quantity.

How did you learn about Krita?

Some time ago I came across Tyson Tan’s character designs on and immediately became a big fan of his work. His Kiki pictures caught my attention and I did some research out of curiosity, leading me to Krita. I haven’t yet learned how to use Krita, but I’ll do that eventually.

Why did you decide to make a Kiki statuette?

Ryou: Before making Kiki, I had already collaborated with a few other artists, turning their characters into figures. Tyson has a unique way of mixing the beauty of living beings and futuristic robotic mechanism that I really liked, so I contacted him on Twitter. I picked a few characters from his creations as candidates, one of them was Kiki. Although more ”glamorous” would have been great too, after some discussion we finally decided to make Kiki.

Tyson: During the discussions, we looked into many of my original characters, some cute, some sexy. We did realize the market prefer figures with glamorous bodies, but we really wanted to make something special. Kiki being Krita’s mascot, a mascot of a free and open source art software, has one more layer of meaning than “just someone’s OC”. It was very courageous for Ryou to agree on a plan like that, since producing such a figure is very expensive and he would be the one to bear the monetary risk. I really admire his decision.

Where can people order them?

The Kiki figure kit can be ordered from my personal website. I send them worldwide:

Anything else you want to share with us?

I plan to collaborate with other artists in the future to make more furry figures like Kiki. I will contact the artist if I like their work, but you may also commission me to make a figure for a specific character.

I hope through making this Kiki figure I can connect with more people!

Ryou’s Personal Website:


Tras unos meses desde su lanzamiento y ya tenemos la cuarta actualización de Plasma 5.9. Y es que alguna cosa no se le puede reprochar al equipo de desarrollo de KDE es su capacidad de trabajo y mejora constante.

Cuarta actualización de Plasma 5.9

El 31 de enero de 2017, la Comunidad KDE se complacióe en presentar su escritorio para entornos GNU/Linux Plasma 5.9. Esta nueva versión fue el fruto de un intenso trabajo por parte de los desarrolladores y probadores que siguen dos líneas básicas de acción: añadir nuevas funcionalidades y mejorar el funcionamiento de Plasma eliminando bugs y optimizando el consumo de recursos.

cuarta actualización de Plasma 5.9

Un mes más tarde, ayer 21 de marzo de 2017, se anunció en la página oficial de la Comunidad el lanzamiento de la cuarta actualización de Plasma 5.9, la cual conlleva un buen número de errores resueltos, mejoras en las traducciones y pequeños cambios realizados por parte de los desarrolladores.

Como es habitual, este tipo de actualizaciones son muy recomendables e incluyen errores solucionados como:

  • Los errores al añadir o eliminar repositorios en Discover.
  • Corregido el renombrado de escritorios.


Más información:

Las novedades de Plasma 5.9

De esta forma, y como la forma más sencilla de conocer todas las novedades, os aconsejo a ver el siguiente vídeo con las novedades más destacadas de Plasma 5.9, muchas de las cuales comento en el siguiente apartado del artículo:


Además del regalo que es tener un nuevo fondo de escritorio de la mano de Ken Vermette del que ya hablamos en el blog, Plasma 5.9 nos traerá nuevas funcionalidades:

Tercera actualización de Plasma 5.9

  • Retorno de la barra de menús globales para el escritorio y para las ventanas. Con ello podemos tener el menú de opciones principales bien en la parte superior del escritorio o bien como un botón en la barra de la ventana de la aplicación.
  • Posibilidad de conmutar entre ventanas con el Gestor detareas utilizando Meta + número ventana.
  • Posibilidad de añadir nuevos temas globales para Plasma (los llamado Look-and-Feel Packs) descargados directamente desde internet con la posibilidad de editarlos.
  • Nuevo diseño de la barra de desplazamiento de Breeze, mucho más fina y elegante ya que se integra mejor con el tema Plasma seleccionado.
  • El Quick Launch applet ahora soporta listas de acciones, con lo que podremos seleccionar qué hacer con el elemento seleccionado.

  • Las ventanas emergentes de las barras de tareas mostrarán información más detallada.
  • Notificaciones interactivas en las previsualizaciones: A partir de ahora, las notificaciones no solo nos informan sino que también podemos realiza acciones con ellas como capturar una imagen y arrastrarla al visor de imágenes.
  • Mejoras en el plasmoide icono de escritorio con el retorno de las opciones de configuración: general, permisos y opciones de la aplicación.
  • Posibilidad de agrupar plasmoides en uno solo mediante pestañas.
  • Mejoras en el gestor de tareas que ahora añade el control multimedia. De esta forma podemos incluso silenciar directamente una aplicación.
  • Las Preferencias del Sistemas mejoran la gestión de redes.

En definitiva, muchas novedades para Plasma 5.9 que hará que nuestro escritorio funcione mejor y sea más funcional. No puedo a esperar a probarlo en mis distribuciones favoritas.

March 21, 2017

WireGuard is participating in Google Summer of Code 2017. If you're a student who would like to be funded this summer for writing interesting kernel code, studying cryptography, building networks, or working on a wide variety of interesting problems, then this might be appealing. The program opened to students on March 20th. If you're applying for WireGuard, choose "Linux Foundation" and state in your proposal that you'd like to work on WireGuard with "Jason Donenfeld" as your mentor.

Kdenlive development might look a bit slow these last months, but we are very busy behind the scene. You can join us tonight on our monthly café to get an insight of the current developments, follow the discussions or ask your questions.

Café will be at 21pm, european time, on, channel #kdenlive

More news on the next releases will follow soon, so keep tuned.

If you read my recent blog post, I defined a file type (*.webapp) that contains instructions to build an Electron Web App, I wrote a script to install *.webapp files (nativefier-freedesktop) and a script/wizard to build *.webapp files starting from a URL. And I published a first Web App in KDE Store / Opendesktop / Linux-Apps.

What inspire me was AUR (Arch Linux User Repository): since it’s not safe to install binaries distributed by users, AUR hosts instead instructions to automatically download sources, build an Arch package and install it. The principle of *.webapp is the same: instructions that let the users build web apps locally, eventually with custom CSS/JS to have, for example, a dark version of some famous site like YouTube.

Also, when I use KDE Neon or other distros I miss AUR a lot: on it you can find everything and install it quickly, you can find also Git versions of apps that are in the official repos in their stable release. So I thought: since now there are distro-agnostic packages, like Flatpak, Snap and AppImage, why not create the “distro-agnostic AUR”? It would work exactly like AUR but at the end of installation process it doesn’t create an Arch package but a Flatpak/Snap/AppImage one.

So a developer could distribute i.e. the Flatpak of the 1.0 stable version of his app and an user could decide to write a DAUR (“Distro-agnostic User Repository” �� package with the recipe to build a Flatpak using the sources from Git, so other users will be able to install the official 1.0 version in Flatpak and the development version also in Flatpak. Or maybe an user could write a recipe for Snap because he don’t like that the developer distributes only a Flatpak etc, use cases are many.

The DAUR packages could be hosted as a category in Opendesktop / Linux App / KDE Store and software centers like Discover could support them… here there is a mockup to explain what I mean:

If you like the idea, please share it to grow the interest.

KDevelop 5.1.0 released

We are happy to announce the release of KDevelop 5.1! Tons of new stuff entered KDevelop 5.1. Here's a summary of what's new in this version:

LLDB support

We had a great student for GSoC 2016 implementing LLDB support in KDevelop. The end result is that we now have a debugger framework which can be used both for the GDB & LLDB MI communcation. The LLDB plugin teaches KDevelop to talk to the standalone LLDB MI Driver (lldb-mi); so now it's possible to use LLDB as an alternative debugger backend for KDevelop. One interesting thing with LLDB that it's also potentially useful on OS X & Windows for us, especially when the Windows port of LLDB is getting more and more stable.

Analyzer run mode

With 5.1, KDevelop got a new menu entry Analyzer which features a set of actions to work with analyzer-like plugins. During the last months, we merged analyzer plugins into kdevelop.git which are now shipped to you out of the box:


Cppcheck is a well-known static analysis tool for C/C++ code. Cppcheck is useful for taking a closer look at your source code checking for common programming faults such as out of bounds accesses, memory leaks, null pointer dereferences, uninitialized variables, etc. pp. With the Cppcheck integration in KDevelop running the cppcheck executable is just one click away. KDevelop will pass the correct parameters to cppcheck including potential include paths and other options.

KDevelop with Cppcheck integration KDevelop with Cppcheck integration

Other analyzers in the pipeline: Valgrind, clang-tidy, krazy2

While the Cppcheck plugin is shipped out of the box, other analyzers are not considered 100% stable yet and still reside in their own repositories. The clang-tidy plugin looks super promising (another static analysis & refactoring tool for C/C++) as it really easy to use from the command-line and thus easy to integrate into our IDE. We plan to import more of those analyzers into kdevelop.git so they'll be part of the kdevelop tarball and are thus available to you without having to install yet another package.

Initial OpenCL language support, CUDA support upcoming

Since 5.1 KDevelop is able to parse code written in the Open Computing Language (OpenCL). The OpenCL language support inside KDevelop is backed by our Clang-based language support backend and thus just required minimal changes in KDevelop to start supporting it. Support for handling NVidia's CUDA files will be part of 5.2 instead. Stay tuned.

KDevelop with OpenCL language support Properly highlighted OpenCL file in KDevelop


Note that for KDevelop to detect .cl files as OpenCL files, an up-to-date shared-mime-info package which contains this patch is required. Alternatively, you can add the mime type yourself by creating the file /usr/share/mime/text/x-opencl-src.xml with appropriate contents and re-running update-mime-database yourself.

Improved Python language support

Python language support now supports Python 3.6 syntax and semantics. In addition, thanks to the work of Francis Herne, various long-standing issues in the semantic analysis engine have been fixed:

  • Loops and comprehensions infer types correctly in many more cases, including on user-defined types with __iter__ and __next__ methods.
  • Type guessing works for arguments named by keywords (not only **kwargs), and works better for class/staticmethods.
  • Property accesses get the return type of the decorated method.
  • Types are inferred correctly from PEP-448 syntax in container literals.
  • Unsure types are handled in subscripts and tuple unpacking.
  • Uses are found for __call__() and __get/setitem__().

These improvements were accompanied by cleaning up dusty code, making future changes simpler as well.Furthermore, our style checker integration has been rewritten, making it much faster and easier to configure.

Screenshot of advanced features under kdev-pythonSome of the newly-handled Python language features.

Perforce integration

Thanks to Morten Danielsen Volden we now have Perforce integration in kdevplatform.git, which can be used freely starting with KDevelop 5.1. Perforce is a commercial, proprietary revision control system. The Perforce integration in KDevelop simply works by running a local version of the p4 executable (needs to be installed independently of KDevelop) with appropriate parameters. This is similar to how KDevelop integrates with other VCS, such as Git & Bazaar.

Color scheme selection inside KDevelop

It is now possible to select the current color scheme from within KDevelop, a feature which has been requested several times in the past. This is especially useful for when KDevelop is run under a different desktop environment than KDE Plasma, where the color scheme settings may not be easily accessible.

Screenshot of KDevelop's color scheme selection menuSelecting the current color scheme inside KDevelop 

Ongoing support for other platforms

We're continuously improving the Windows version of KDevelop and we're planning to release a first KDevelop version for OS X soon (yep, we're repeating us here, please stay tuned!). For the Windows version, we upgraded the KF5 version to 5.32 and the LLVM/Clang version to 3.9.1.

Get it

Together with the source code, we again provide a prebuilt one-file-executable for 64-bit Linux, as well as binary installers for 32- and 64-bit Microsoft Windows. You can find them on our download page.

The 5.1.0 source code and signatures can be downloaded from here.

Please give this version a try and as always let us know about any issues you find via our bug tracker.



  • Codegen: Fix crash when documenting template func. Commit. Fixes bug #377036
  • Grepview: Fix search in project root with trailing slash. Commit. Phabricator Code review D4774
  • Fix project tree state not being saved. Commit. Phabricator Code review D4665
  • Trim identifiers before triggering rename action. Commit. Fixes bug #376521
  • Update tab colors when the palette changes. Commit. Fixes bug #358776
  • Grepview: Fix crash on exit with grep dialog open. Commit. Fixes bug #348784
  • Template file dialog: kill old widgets on re-entering TemplateOptionsPage. Commit. Phabricator Code review D4413
  • GrepOutputView: show older search results fully expanded initially. Commit. Phabricator Code review D4605
  • Toolbar state was not being saved / restored. Commit. Phabricator Code review D4122
  • Fix Bug 374458 by properly blocking signals on debugger combo box. Commit. Phabricator Code review D4555
  • Prevent progress notifications on copying and writing back project files. Commit. Phabricator Code review D4409
  • Fix preview for file templates with options: add vars with default values. Commit. Phabricator Code review D4384
  • TemplatePreviewRenderer: inject also some dummy test data. Commit. Phabricator Code review D4369
  • Fix bug 374921: Tool view grouping no longer works in 5.1 branch. Commit. Fixes bug #373213. Phabricator Code review D4219
  • Enable "Open Config"/"Close Project" always if just one project is loaded. Commit. Fixes bug #375234. Phabricator Code review D4216
  • Fix bug 375007 - Asserts when pressing "Show Imports" button in problems tool view. Commit. Phabricator Code review D4152
  • Container types: do not write lock when calling addContentType(). Commit. See bug #374097
  • Fix progress widget flags. Commit. Fixes bug #374357
  • Don't hit assertion with "View Diff". Commit. Fixes bug #373763
  • Remove KDEV_USE_EXTENSION_INTERFACE. Commit. Phabricator Code review D3774
  • Add button to re-run search in files. Commit. Phabricator Code review D3550
  • Add "Documentation" settings category. Commit. Phabricator Code review D3700
  • Shell env script: Read user bashrc again. Commit. Fixes bug #373419
  • Add zsh support for kdevplatform konsole integration. Commit. Phabricator Code review D3171
  • Save/Restore Tool Views order. Commit. Phabricator Code review D3002
  • Fix context help for template data types. Commit. Phabricator Code review D3205
  • Port kdev_format_source script to C++/Qt. Commit. Phabricator Code review D2925
  • Documentation: small UI fix. Commit. Phabricator Code review D3255
  • Feature "Diff From Branch" on BranchManager. Commit. Phabricator Code review D3073
  • Add filtering for ProblemsView. Commit. Fixes bug #339839. Phabricator Code review D3108
  • More helpful error message when failing to load project plugin. Commit. See bug #369326
  • Add "Analyze" group to ContextMenuExtension. Commit. Phabricator Code review D3013
  • Add keyboard shortcut for "Switch Header/Source". Commit. Fixes bug #359136. Phabricator Code review D2757
  • Process QML runtime errors. Commit. Phabricator Code review D2735
  • Use folder prefix is filename is not unique. Commit. Phabricator Code review D1947
  • Implement color scheme selection from these installed in the system using KColorSchemeManager. Commit. Code review #127979. Fixes bug #279592
  • KDevPlatform changes for supporting the -iframework and -F header search path. Commit. Code review #128284
  • [OS X] Show job progress in the Dock tile. Commit. Code review #128188
  • Project controller: make displaying project config dialog async. Commit. Fixes bug #364433
  • Integrate kdev-perforce into kdevelop. Commit. Phabricator Code review D2001
  • Fix variable toolview not sync with framestack view. Commit. Phabricator Code review D1351
  • Respect KDE HIG. Commit. Fixes bug #360503
  • [GCI] Add buttons "jump to first (last) item" to standardoutputview/outputwidget. Commit. Fixes bug #338153. Phabricator Code review D750
  • Remove QtQuick1 dependency. Commit. Code review #125782
  • Don't close documents when saving. Commit. Fixes bug #351895


  • Qmljs: Fix crash access internal function context. Commit. Fixes bug #376586
  • CustomBuildSystemConfigWidget: clear configs before reloading. Commit. Fixes bug #376523
  • Add basic support for parsing OpenCL. Commit. Phabricator Code review D4930
  • Add path escaping to cmake completion. Commit. Fixes bug #338196. Phabricator Code review D4760
  • Return immediately with unsupported custom-build-job arguments. Commit. Fixes bug #376833
  • Improve the Qt5 QtQuick template and make it available in CMake as well. Commit. Phabricator Code review D4721
  • Fix a crash when gdb produces malformed output. Commit. Phabricator Code review D4714
  • Clang: Don't insert new include beyond moc include. Commit. Fixes bug #375274
  • Avoid utimes() in custommake projects, remove unsermake support. Commit. Phabricator Code review D4612. Fixes bug #376432
  • Ninjabuilder: Don't crash on `sudo ninja install`. Commit. Fixes bug #372888
  • Specify generator whenever there's no CMakeCache.txt. Commit. Fixes bug #349877
  • C/C++ Compilers config page: use KUrlRequester, focus edit field on Add. Commit. Phabricator Code review D4582
  • Switch to new X-KDevelop-Languages key. Commit. Phabricator Code review D4424
  • Add ClangClassHelper, to restore features of CppClassHelper. Commit. Phabricator Code review D4359
  • More unit tests and fixes for lldb formatters. Commit. Phabricator Code review D3942
  • Fix segfault when analyzing source code issue. Commit. Code review #129767. Fixes bug #374525
  • Add an app_template for a simple KDevelop plugin. Commit. Phabricator Code review D3785
  • Advanced configuration settings for the CMake ProjectManager. Commit. Code review #129416
  • QtHelp page loading fix. Commit. Phabricator Code review D3671
  • Add zsh support for kdevelop konsole integration. Commit. Phabricator Code review D3172
  • Assert if the gdb plugin was unloaded. Commit. See bug #370314. Code review #129131
  • Cmake manager: fix incorrect settings import from existing build directory. Commit. Phabricator Code review D2964
  • Remove non-existing include dir. Commit. Phabricator Code review D2898
  • Consider showing CppCheckPreferences page under "Analyzers" category in session global config menu. Commit. Phabricator Code review D2821
  • Report man pages loading error. Commit. Code review #128943
  • Fix KDevelop crashes when trying to debug from command-line. Commit. Fixes bug #367837
  • LLDB/GDB plugin: add support for coredumpctl in unittests, and fix LldbTest::testCoreFile. Commit. Phabricator Code review D2604
  • GDB/LLDB plugin: correctly handle string escaping and unescaping. Commit. Phabricator Code review D2375
  • Merge LLDB plugin into master. Commit. Phabricator Code review D2293
  • Reapply some patches to 5.0 that are lost when merging into master. Commit. Phabricator Code review D2292
  • Implement color scheme selection from these installed in the system using KColorSchemeManager. Commit. Code review #127980. Fixes bug #279592
  • Support -iframework and -F header search path options. Commit. Code review #128272
  • Recognise #import directive in the context browser. Commit. Code review #128276
  • Qmljs: Don't hold locks while performing filesystem accesses or calling qmlplugindump. Commit. Fixes bug #363509. Code review #128227
  • Fix issue with kdev-cppcheck selecting wrong project. Commit. Phabricator Code review D1116
  • Always show recursive "missing include" errors in problem view. Commit. See bug #358853
  • Add a testcase for BUG: 358853. Commit. See bug #358853
  • Preserve existing windowIcons via QIcon::fromTheme's fallback. Commit. Code review #126759
  • Make kdevelop-app and kdev-plugins use Qt5 resources for splash, rc, knsrc. Commit. Phabricator Code review D529
  • Make qmljs kdevelop plugin compile on OSX. Commit. Phabricator Code review D456
  • Use IProject->path() instead of folder() which is deprecated and will be removed. Commit. Code review #123117


  • Restore compile-time support for Python 3.4.3+. Commit. Phabricator Code review D4936
  • Very basic property getter support. Commit. See bug #372273. Phabricator Code review D4207
  • Fix OOM condition in style checking: move buffer processing out of read loop. Commit. Fixes bug #375037
  • Style checking: read data from stdin as bytes, not in some encoding. Commit. See bug #375037
  • Completion: wrap expression visitor into a read lock. Commit. Fixes bug #374097
  • Yet more range fixes. Commit. See bug #373850
  • Completion hint: Correct default-argument index for non-static methods. Commit. Fixes bug #369369
  • PEP-448 for list and set literals. Commit. Phabricator Code review D3868
  • PEP-448 unpacking in dict literals. Commit. Phabricator Code review D3867
  • Add types from unpacked dict argument to **kwargs parameter. Commit. Phabricator Code review D3861
  • Lambda expression improvements. Commit. Fixes bug #306212. Phabricator Code review D3555
  • Set mostly-correct endCol on numbers, single-quoted strings and subscripts. Commit. See bug #373850
  • Skip explicit `self` argument when calling via class. Commit. Fixes bug #369364
  • Make ExpressionVisitor::visitCall() clearer. Commit. Phabricator Code review D3524
  • Shorten class context range by one line. Commit. Fixes bug #309817
  • Pass docstring into `docstringContainsHint()` rather than declaration. Commit. Phabricator Code review D3535
  • Show uses for __call__() and __{get,set}item__(). Commit. Phabricator Code review D3512
  • Rename functionDeclarationForCalledDeclaration -> functionForCalled and tweak types. Commit. Phabricator Code review D3534
  • Get iterable content using __iter__() and __next__(). Commit. Fixes bug #369363. Phabricator Code review D3540
  • Make the hack for finding attribute ranges more robust. Commit. Phabricator Code review D3437
  • Get more possible types when subscripting unsure-types. Commit. Phabricator Code review D3427
  • Pass AbstractType::Ptr, not Declaration*, to accessAttribute(). Commit. Fixes bug #359912. Phabricator Code review D3422
  • Improved unpacking and iteration. Commit. Fixes bug #359915. Phabricator Code review D3352
  • Allow configuring a per-project Python interpreter for search paths. Commit. Fixes bug #368970
  • Support expanding widgets in the completion list. Commit. Fixes bug #368263
  • Fix porting bug: path for docfile generator files. Commit. Fixes bug #359905
  • Lock parse lock for a short moment when destroying language support. Commit. Fixes bug #359263
  • Fix path in docfile KCM. Commit. Fixes bug #358036


  • Support of Class::{expr}() syntax from Php 5.4. Commit. Phabricator Code review D4902
  • Support for $this as an array when implementing ArrayAccess. Commit. Phabricator Code review D4776
  • Php7 IIFE syntax parsing. Commit. Fixes bug #370515. Phabricator Code review D4391
  • Fix compile issue due to recent changes in kdevplatform. Commit. Phabricator Code review D3411
  • Fix parsing of the ::class constant. Commit. Phabricator Code review D988
  • Fix parsing of the ::class constant. Commit. Phabricator Code review D988
kfunk Tue, 03/21/2017 - 11:00


Wonderful release, lots of things I like on the C/C++ side. Sadly there's still no Perl support which previous incarnations of KDevelop had (pre-5.x). Would be really nice, if that could be added. ;-)


In reply to by Drizzt (not verified)

KDevelop 4 did not have Perl support, and what KDevelop 3 (over 10 years ago) had in terms of language support was much more simplistic than what we consider a supported language nowadays. In this sense I wouldn't say KDevelop ever supported perl.
It's a lot of work to get a language supported, and we don't have the resources to add support for Perl at the moment. If you are interested in working on that, you are very welcome of course!

I found signatures for the source code but where are the signatures for the AppImage files?

Big thanks for python support enhancements.

Hi! Thanks for you work, I used KDevelop 4 and seems 5.x version made a great progress. Just a couple of questions:

1. Are there any support for building and deploying for Android and iOS, like QtCreator has? Or are there any plans to implement it?
2. Have you plans to integrate a tool like clazy?


In reply to by Nikita (not verified)

(1): Not really, at this point
(2): Yes, it's theoretically possible to integrate clazy so the internal parser of KDevelop actually reports clazy issues, but there are some difficulties to do this with a distro-packaged libclang. So, plans, yes, but they haven't materialized yet.

Timothée Giet has finished his latest training course for Krita. In three parts, Timothée introduces the all-new animation feature in Krita. Animation was introduced in Krita 3.0, last year and is already used by people all over the world, for fun and for real work.

Animation in Krita is meant to recreate the glory days of hand-drawn animation, with a modern twist. It’s not a flash substitute, but allows you to pair Krita’s awesome drawing capabilities with a frame-based animation approach.

In this training course, Timothée first gives us a tour of the new animation features and panels in Krita. The second part introduces the foundation of traditional animation. The final part takes you through the production of an entire short clip, from sketching to exporting. All necessary production files are included, too!

Animate with Krita is available as a digital download and costs just €14,95 (excluding VAT in the European Union) English and French subtitles are included, as well as all project files.

Get Animate with Krita

As a professional mobile application developer you probably already know by now how awesome Qt makes most of your daily job.

Yet, things like finding that useful (but undocumented) qmake option, deciding upon the application architecture to use for your next project, implementing native extensions on Android and iOS, checking whether a suitable library for your component already exists, might prove quite difficult if you are on your own.

The forums, IRC and mailing lists are great places to start from for one-shot questions, but sometimes you need a dedicated environment with peers where you can have a more focused and ongoing discussion about your daily matters. Here is where QtMob comes in.

QtMob is a global community of professional Qt mobile application developers that are willing to share their pains, knowledge and resources.

QtMob is a Slack chat, so that you can leverage all the goodies that modern-day, computer-mediated conversation has to offer.

It is a tool that you can open in the morning while sipping your coffee/tea, to likely find a bunch of fresh new mobile-related resources that someone just posted.

It sports a good mix of professional Qt mobile app developers, relatively fresh Qt users who love being on the cutting edge and sharing what they just discovered, Qt veterans who are looking for a smooth transition to newer topics like mobile and Quick, members of the QtCompany who want a direct channel with a group of mobile devs for feedback, as well as professionals from companies which have invested in Qt on mobile to provide middleware and services to application developers.

Members come from industries as diverse as game development, medical software, geographic informations systems, you name it. That’s just as diverse as the Qt users spectrum.

QtMob is also a place for collaborations, where members get feedback about new packages and tools they are offering or plan to offer to the community (among others, Cutehacks’ qpm package manager, Qt Champion Benlau’s many utility libraries, Grecko’s SortFilterProxyModel qml wrapper, Esri’s ArcGIS SDK, VPlay’s mobile SDK or just recruit consultants for their next project.

QtMob is the right place to start an in-depth discussion about strategies to prevent memory warnings on iOS, choosing the right push notifications component, talking about Qt and Redux, implementing CI, making .pro changes to support your build, or just shouting your frustation in the #bottomlesspit channel.

Here are a few first impressions from a community member, Sassan from Teheran:

“After joining this group I was able to ask questions, and there was always someone who responded quickly, either with the solution or the reason why it was not possible yet to achieve what I needed. A question may initiate discussions about the topic, and you’ll end up knowing much more than what you asked for, which is good because it will save you lots of time not doing the wrong things others have tried before. Your question may end up as a feature request on the Qt bugtracker.

After joining this group I was able to know about the latest technologies, packages, related softwares, etc around Qt. It’s really nice to know for example the time you spend to release your app can be reduced 5 times by using tools people discuss about here… and that’s just an example.

After joining this group I had the chance to know about the latest up-to-date documents (pdfs, videos, tutorials, etc.) people create about coding in Qt.

After joining this group I had the chance to meet so many nice people, many of whom spend part of their time to contribute to this open source project.

After joining this group I learned about best practices for doing things I already knew how to do, but which I can now do better.”

We recently celebrated user #100 (while I write the count is 130), Jeff Galbraith from iMirror: a good example of using Qt for mobile in innovative settings like fitting rooms. But QtMob members use cases are just so many…

Come along and see, it’s free!

The only requirement: be willing to give at least as much as you get, in whatever form is best suited to your level of experience and job constraints.

The post QtMob: Qt mobile application development becomes easier appeared first on Qt Blog.

March 20, 2017

Twitter seems ever dominant and important for communication. Years ago I added a microblogging feed to Planet KDE but that still needed people to add themselves and being all idealistic I added support for anything with an RSS feed assuming people would use more-free But went away and Twitter I think removed their RSS ability but got ever more important and powerful.or the relaunched theme a couple of years ago we added some Twitter feeds but they were hidden away and little used.

So today I’ve made them show by default and available down the side.  There’s one which is for all feeds with a #kde tag and one with @kdecommunity feed. You can hide them by clicking the Microblogging link at the top. Let me know what you think.

Update: my Bootstrap CSS failed and on medium sized monitors it moved all the real content down to below the Twitter feeds rather than floating to the side so I’ve moved them to the bottom instead of the side.  Anyone who knows Bootstrap better than me able to help fix?

I’ve also done away with the planetoids.,, and several others. These were little used and when I asked representatives from the communities about them they didn’t even know they existed. Instead we have categories which you can see with the Configure Feed menu at the top to select languages.

I allowed the <embed> tag which allow for embedding YouTube videos and other bits.  Don’t abuse it folks ��

Finally Planet KDE moved back to where it belongs: Because KDE is a community, it should not be afraid of its community.

Let me know of any issues or improvements that could be made.

Facebooktwittergoogle_pluslinkedinby feather

This announcement is also available in Spanish and Taiwanese Mandarin.

It's only been days since our latest release Goedel 2017.03 was announced, but KDE software updates fully roll in Chakra and we could not delay this any further. As always, simply upgrading your system after installation will provide you with the latest available software in our repositories.

The most recent updates for KDE's Plasma, Applications and Frameworks series are now available to all Chakra users. All of these have been built against an important update of Qt to version 5.8.0.

The Calligra suite has also been updated to, so it is now fully ported to Frameworks 5 and will be provided as a single package. However this means that applications like author, braindump, flow and stage are no longer actively maintained and are dropped from our repositories.

Plasma 5.9.3 provides another round of bugfixes and translation updates to the 5.9 release, with changes found mostly in kwin, plasma-desktop and plasma-workspace.

Applications 16.12.3 ship with more than 20 recorded bugfixes and include improvements to kdepim, ark, filelight, gwenview, kate, kdenlive and okular. kdelibs have also been updated to 4.14.30.

Frameworks 5.32.0 provide the usual bugfixes and improvements to breeze-icons, kio, ktexteditor, plasma-framework and syntax-highlighting, among other packages.

Other notable package upgrades and changes:

bash 4.4.012
btrfs-progs 4.8.5
hplip 3.16.11
mariadb 10.1.22
vala 0.34.6

qupzilla 2.1.2

pidgin 2.12.0
skypeforlinux We now ship the bundled web application which unfortunately misses some features and lacks in system integration, but at least it works.

wine 2.4

It should be safe to answer yes to any replacement question by Pacman. If in doubt or if you face another issue in relation to this update, please ask or report it on the related forum section.

Most of our mirrors take 12-24h to synchronize, after which it should be safe to upgrade. To be sure, please use the mirror status page to check that your mirror synchronized with our main server after this announcement.

In February, KDE's Plasma team came together in for their yearly in-person meeting. The meeting was kindly hosted by von Affenfels GmbH, a webdesign agency in Stuttgart, Germany. The team discussed a wide variety of topics, such as design, features new and old, bugs and sore points in the current implementation, app distribution, also project management, internal and outward-facing communication and Wayland.

Plasma team at the sprint: Clemens, Ronald, Martin, Kai Uwe, Sebas, Jonathan, Martin, David, Bhushan, Dan, Aleix, Roman, Ken

New features...

KDE is experimenting with new ways to deploy applications. Under consideration are technologies such as Flatpak, Snap and AppImage, which all have their distinct advantages. Support for bundled applications is being built into Discover, Plasma's software management center, and the KDE Store. An idea is to allow software developers more control over their applications' lifecycle, and to get updates shipped much quicker into the hands of users. Similar as with packages automatically created from our Git code repositories. This can dramatically cut down on the complexity of the deployment chain.

Browser integration in Plasma will be improved by integrating notifications and download progress and multimedia natively into Plasma by providing a browser extension that relays this information to the Plasma shell.

The Plasma team also discussed using touchpad gestures to control the window manager, so users can use specific multitouch gestures to trigger effects like the "desktop grid", "present windows" or swiping between virtual desktops.

Plasma Mobile Ported to Nexus 5X

Plasma Mobile, KDE's ongoing product to provide a Plasma implementation suitable for mobile phones was made to run on the Nexus 5X. The previous reference device, the Nexus 5 (sans "X") was getting a bit dated, and since it's not easily available on the market anymore, a new reference device that people can get their hands on was needed. Bhushan Shah solved the last problems keeping us from using this newer and faster device as a development platform. Images will be appearing shortly, and the team is looking forward to receiving (and addressing) feedback about Plasma on the 5X.

New Website

While not strictly Plasma, the team made a final push to getting KDE's websites at updated. A tireless effort by Ken Vermette with the help of Harald Sitter and a few more helping hands lead to the shiny new design being revealed during the course of the sprint.

Soft Internals

On the less technical side, a sprint such as this is always a good opportunity to talk about how we work together, and how we present ourselves to the outside world. While we have made great strides to improve our software by applying more thorough review processes, continuous testing and integration and paying more attention to the wishes and problems of our users, we want to put more focus on stability. One way to achieve this is to move bigger feature merges more towards the beginning of a development cycle, thereby increasing the amount of time we have for testing and ironing out problems.


Sprints like this are only possible with the support of our community. We would like to thank the KDE e.V. for making this sprint (as many others before) possible. A special note of appreciation goes out to all those who donated to KDE e.V., without your support, we cannot get together in person to discuss and work. Personal interaction, while not necessary on a daily basis helps us to improve our collaboration, communication, team-work, and not at least the software we create for our users.

Linux Action Show

The Linux Action Show did an interview with the team at the sprint, watch this episode from 5 minutes in to meet the crew.

Dot Categories:

Hi all, you may have read my post on Nativefier, a script to build Electron web apps from URLs. If not, check it for advantages of Electron web apps, like low RAM consumption.

Instead a disadvantage of Nativefier is that on Linux it doesn’t “install” the app, but just create a portable folder, so you have to manually create the launcher with name, icon etc.

So I decided to “define” a file type with the metadata to install the app following Freedesktop specifications: *.webapp files.

Then I wrote a script, nativefier-freedesktop, that takes *.webapp file as input, build the app with Nativefier and install it, so you can launch it from your app menu. It can include custom CSS style and JavaScript code to be injected during the building. The icon can be themed by icon themes.

Here there is an example of KDE Phabricator with Breeze style (*.webapp file included in the repo):

That has native notifications:

Can be unistalled with a right-click on its entry in the app menu:

And there is also a Service Menu for Dolphin to perform “right-click > Install” on *.webapp files:

For more informations and instructions check the repo.

I hope you like the idea, I will distribute more *.webapp files, maybe of sites with Breeze style.

March 19, 2017

Today, KBibTeX 0.6.2 has been released. It replaces the never published 0.6.1 release, where a show-stopping bug was detected after tagging the release.

tl;dr: source tar ball, ChangeLog in Git

Read more... )

comment count unavailable comments 2017 was held in the big and beautiful campus of IIT, Guwahati in Assam. During 10th to 12th March, the conference schedule was 2 days of talks followed by a day of workshop. Talks were lined-up in single track which helps attendees not to miss any talk. Conference pictures from my camera are available at flickr.


1st Day

The first day started with inaugural ceremony where college professors and Valorie lightened up candle to start the conference.
Later, Valorie Zimmerman gave a keynote on Your Superpower. This talk was to motivate everyone to believe in themselves because each one of us have got superpower. To do something, it is very important to first believe in yourself.
33505439955_a0fd2bf847_m       33121738790_38b47982c0_m
Further, Shantanu gave an introductory talk on Qt and QML and showed some live demo explaining how easily UI can be created using QML. This talk was one of the important base for 3rd day workshop.
Bhushan gave talk on different KDE projects where one can contribute like KDevelop, Plasma, Krita, Kstars, Calligra, etc. He also provided some important information useful for beginners like how to get a KDE project’s source code, joining project related mailing lists and asking questions on respective IRC channel on freenode. Also talked about junior bugs associated with project – an easy way to start contributing to a project.
First day ended with Pradeepto’s talk of his 11 years experience with KDE and how he made so many friends across different parts of world. I feel that this is one of the best part of any conference, we meet friends with whom we work remotely and also make some new ones.

2nd Day

The 2nd day started with my talk on how I use KDE software to survive. I started using KDE desktop as my primary desktop since I was in college in around 2009. I strongly believe that to start with contribution to any software, it is very important to first use it and understand it. This gives new contributors a better idea where she can start contributing.
In my talk I discussed some KDE software which I use everyday for my personal as well as professional work. Slides for my talk are available at github.

Photo Credit – Srijan Agarwal

I liked Shantanu’s talk on using GammaRay to debug QtQuick applications. He showed how he uses GammaRay to debug his office project called SoStronk – desktop application written in Qt and QML.
Another interesting and amazing talk was given by Aditya Mehra on Mycroft integration with KDE in the form of a plasmoid. Mycroft is an open source voice assistant application which can run anywhere – on a desktop computer, inside an automobile, Raspberry Pi and so on. One can view a pre-recorded video available on YouTube and yes if you don’t like the voice, you can add your own custom voice.
33505577155_065d890933_m        33348927352_5fc88ff6c6_m
There were other several interesting talks on topics like GCompris, GSoC 2017 and how one can participate, Journey of SuperX – Linux based OS + KDE software started in Assam, India.


Most of the attendees were college students and it was important to give them some hands-on experience to help them to start with contributing to Open Source. Ashish Madeti started with explaining importance of git and how create a project with git version control setup, doing commits and other basic stuff. Attendees were trying in parallel on their laptop and we helped attendees individually to make sure they are able to do it themselves.
Later, Shantanu Tushar and Tony Thomas started with creating basic UI project using QML in Qt Creator. They explained how to browse documentation in Qt Creator for available components. Attendees tried on their own laptop and we all helped them to solve problems that they were facing.
There were many other interesting things discussed during the conference which is hard to cover in a single blogpost.
A big thanks to all volunteers who helped from start of the conference till end. Special thanks to Bhushan Shah for organizing it and KDE eV for sponsoring my travel.
With each conference, we get some awesome KDE contributors and hoping the same this year!

USNO NOMAD star catalog which contains ~100 million stars has been available in KStars for many years, but it appears many KStars users do not know how to get the catalog up and running.

The primary problem is its sheer size (1.4 GB) which tends to fail when being downloaded via KStars Download New Data tool. So here is a quick guide on how to obtain this catalog.

USNO NOMAD requires Tycho-2 catalog to be installed first. It is a relatively smaller download at only 32MB and can be safely installed using the Download New Data tool. Using the keyboard, click Ctrl + N to bring up the dialog, or go to Data → Download.

Navigate to Tycho-2 and click Install.

Wait until Tycho-2 is downloaded and installed. Now download the USNO NOMAD Catalog. Please either use a download manager to download the file, or use wget from the console. To use wget, open a console and type:


Alternatively, you might want to checkout the mirror list first to download the files from a mirror close to you. After downloading the file, extract it and copy USNO-NOMAD-1e8.dat to ~/.local/share/kstars

If you are using console:

tar -xzf USNO-NOMAD-1e8-1.0.tar.gz
cp USNO-NOMAD-1e8.dat ~/.local/share/kstars

Now restart KStars, and go to Settings → Configure KStars. You'll see the Star Catalogs density slider, move it up and click Apply. You can control how many stars KStars draw on the screen, the more stars, the more resources it would take to render them, so adjust the slider carefully.

And if all goes well, you should have millions of stars on in your KStars Sky Map, enjoy!

March 18, 2017

Today at 15:58 UTC the Kubuntu Council approved Darin Miller’s application for becoming a Kubuntu Member.

Darin has been coming to the development channel and taking part in the informal developer meetings on Big Blue Button for a while now, helping out were he can with the packaging and continuous integration.  His efforts have already made a huge difference.

Here’s a snippet of his interview:

<DarinMiller> I have contributed very little independently, but I have helped fix lintian issues, control files deps, and made a very minor mod to one of the KA scripts.
<clivejo> minor mod?
<acheronuk> very useful mod IIR ^^^
<clivejo> I think you are selling yourself short there!
-*- clivejo was very frustrated with the tooling prior to that fix
<DarinMiller> From coding perspective, it was well within my skillset, so the mod seemed minor to me.
<clivejo> well it was much appreciated
<yofel> when did you start hanging out here and how did you end up in this channel?
<DarinMiller> That’s another reason I like this team. I feel my efforts are appreciated.
<DarinMiller> And that encourages me to want to do more.

He is obviously a very modest chap and the Kubuntu team would like to offer him a very warm welcome, as well as greeting him with our hugs and the list of jobs / work to be done!

For those interested here’s Darin’s wiki page: and his Launchpad page:

The meeting log is available here.

March 17, 2017

Since January I'm participating on events on Rio de Janeiro area. The one that every month is scheduled in my calendar is PythonRio. A Python(obviously =P ) event, but you can talk about everything that you want that fit the goal of the event: Share knowledge. And every two weeks before the event, they open [...]

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.