Albert Astals Cid

KDE Edu sprint 2017 in Berlin

I had the privilege to attend the KDE Edu sprint in Berlin that happened from the 6th to the 9th of October.

There i mostly worked in the KTuberling port to Android. If you have children (or maybe if you want to feel like one for a few minutes) and an Android device please try it and give some constructive feedback ;)

Though of course that's not all we did, we also had important discussions about "What is kde edu", about how we should be involved in the "Making KDE software the #1 choice for research and academia" KDE goal and other organization stuff like whether we want a phabricator rule to send email to the kdeedu mailing list for a set of projects, etc.

Thanks go to all the people that donate to KDE e.V. that made sponsoring the trip possible, and to Endocode for hosting us and sponsoring all kind of interesting drinks and pizza on Sunday :)

Alex Muntada

My Free Software Activities in Jul-Sep 2017

If you read Planet Debian often, you’ve probably noticed a trend of Free Software activity reports at the beginning of the month. First, those reports seemed a bit unamusing and lengthy, but since I take the time to read them I’ve learnt a lot of things, and now I’m amazed at the amount of work that people are doing for Free Software. Indeed, I knew already that many people are doing lots of work. But reading those reports gives you an actual view of how much it is.

Then, I decided that I should do the same and write some kind of report since I became a Debian Developer in July. I think it’s a nice way to share your work with others and maybe inspire them as it happened to me. So I asked some of the people that have been inspiring me how do they do it. I mean, I was curious to know how they keep track of the work they do and how long it takes to write their reports. It seems that it takes quite some time, it’s mostly manual work and usually starts by the end of the month, reviewing their contributions in mailing lists, bug trackers, e-mail folders, etc.

Here I am now, writing my first report about my Free Software activities since July and until September 2017. I hope you like it:

  • Filed bug #867068 in Cannot claim account after former SSO alioth cert expired.
  • Replied a request in private mail for becoming the maintainer for the Monero Wallet, that I declined suggesting to file an RFP.
  • Attended DebConf17 DebCamp but I missed most of Open Day and the rest of the Debian conference in Montreal.
  • Rebuilt libdbd-oracle-perl after being removed from testing to enable the transition to perl 5.26.
  • Filed bug #870872 in Server Error (500) when using a new SSO cert.
  • Filed bug #870876 in make subscription easier to upstreams with many packages.
  • Filed bug #871767 in lintian: [checks/cruft] use substr instead of substring in example.
  • Filed bug #871769 in reportbug: man page mentions -a instead of -A.
  • Suggested to remove libmail-sender-perl in bug #790727, since it’s been deprecated upstream.
  • Mentioned -n option for dpt-takeover in how to adopt pkg-perl manual.
  • Fixed a broken link to HCL in
  • Adopted libapache-admin-config-perl into pkg-perl team, upgraded to 0.95-1 and closed bug #615457.
  • Fixed bug #875835 in libflickr-api-perl: don’t add quote marks in SYNOPSIS.
  • Removed 50 inactive accounts from pkg-perl team in alioth as part of our annual membership ping.

Happy hacking!


Albert Astals Cid

Sorry for Spain

Today the Spanish police has committed in Catalonia what can only be described as barbarism.

Beware of the videos, they may hurt your feelings.

They have hit people on the street and fought catalan police over it
They have hit people sitting on stairs
They have hit old ladies
They have hit people standing on the street
Did i mention they hit people on the street?
They also hit someone that was already injured and walking away
They have broken (on purpose) all the fingers of a woman that was already on the floor
They have hit some more people
They have hit firefighters

Currently we're officially speaking of more than 800 injured people but i wouldn't be surprised if the count was much higher.

Meanwhile a dude voting wrapped in a spanish+bull flag gets a round of clapping

And I'm saying sorry for Spain, because it's obvious that after today Catalonia will leave Spain, sooner or later but it's going to happen, but the rest of Spain will have to live with these beasts ingrained in their police and politics.

Sorry and good luck.

Albert Astals Cid

How to check if your touch screen is really sending touch events

I've had this problem twice in the last year, I'm testing something related to touch in my laptop and I'm stuck trying to figure out if it's my code that is wrong or if my screen is misconfigured and it's only sending mouse events.

Thanks to Shawn of Qt fame for having helped me the two times and explained me how to test if my screen is sending touch events, I'm writing this blog so i don't forget and ask him a third time :D

First step is figuring out the xinput id of the touch screen of my laptop

tsdgeos@yoga:~:$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Wacom Co.,Ltd. Pen and multitouch sensor Finger id=9 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech TrackPoint id=13 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Wacom Co.,Ltd. Pen and multitouch sensor Pen id=10 [slave keyboard (3)]
↳ Integrated Camera id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=15 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]

In this case would be id=9

Then you can do

tsdgeos@yoga:~:$ xinput test-xi2 9

and if the output contains RawTouchBegin and RawTouchEnd events, it means that the screen is correctly sending touch events :)

Next you probably want to check if Qt actually is seeing those events, for that there's a few ready to use demos in the qtdeclarative source code, so I would do

tsdgeos@yoga:~:$ qml qt5/qtdeclarative_58/examples/quick/touchinteraction/multipointtouch/multiflame.qml

And after putting my five fingers on the screen I would see

So all is good, the bug is my code and not in Qt or the configuration of my touch screen :D

Status del servidor de Caliu

Revisió d'alta tensió al Campus Nord

Per tal de dur a terme la revisió anual de les diverses estacions transformadores d’alta tensió del Campus Nord de la UPC, el proper dimarts 1 d’agost es produirà un tall de subministrament elèctric a les instal·lacions on s’allotja el servidor de Caliu, per la qual cosa els serveis que allotja no seran accessibles.

L’apagada del servidor s’iniciarà a les 6:00 i s’allargarà com a mínim fins les 17:00.

Podreu seguir l’evolució de l’actuació per twitter.

Us preguem que dispenseu les molèsties que el tall us pugui ocasionar.

Actualització: el manteniment ha finalitzat. Tots els serveis tornen a estar operatius. Si detecteu qualsevol problema adreceu-vos al correu

Albert Astals Cid

Big day in poppler-land

Today in Poppler:
* Poppler 0.57 got released
* We agreed to stop supporting openjpeg 1.x at the end of the year
* We agreed to stop supporting Qt 4.x at the end of the year
* We merged the better_object branch

The last one is the one that is really big, since it introduces a big rework of the Object class, a central component to Poppler. Object is much used like a QVariant, i.e. it can hold various kind of data inside and you can pass it around.

Unfortunately the Object implementation we inherited from xpdf was kind of hard to use, having to basically do the memory management by hand. i.e. destroying the object was not enough to free the memory, you had to call free() on it.

Thanks to C++11 now we have an implementation with move semantics that greatly simplifies the use of Object and will hopefully make for less memory management mistakes.

Let's hope we didn't break anything in the process though :D

Status del servidor de Caliu

Actualització del servidor de Caliu a Debian Stretch

El proper dissabte 8 de juliol els Masovers de Caliu ens reunirem en jornada tècnica per actualitzar el servidor a Debian Stretch. L’actualització afectarà el funcionament del servidor des de les 10:00 del matí fins a hora indefinida d’aquell mateix dia.

Podreu seguir l’evolució de l’actuació per twitter.

Us preguem que dispenseu les molèsties que el tall us pugui ocasionar.

Actualització: el manteniment ha finalitzat. Tots els serveis tornen a estar operatius. Si detecteu qualsevol problema adreceu-vos al correu Dilluns al matí el servidor serà traslladat de nou al CPD.

Albert Astals Cid

KDE Applications 17.08 Schedule finalized

It is available at the usual place

Dependency freeze is in 4 weeks and Feature Freeze in 5 weeks, so hurry up!

Albert Astals Cid

Okular 1.1 released!

Today KDE Applications 17.04 was released.

It includes Okular 1.1, it contains a nice set of features:
* Add annotation resize functionality
* Add support for auto-calculation of form contents via JavaScript
* Allow to rotate the page view using two-finger pinches on a touchscreen
* Change pages in presentation mode by swiping on touch screen
* Added support for Links that change the Optional Content visibility status
* Allow to disable automatic search while typing
* Allow to create bookmarks from the Table Of Contents

This release was brought to you by Albert Astals Cid, Oliver Sander, Luigi Toscano, Martin T. H. Sandsmark, Tobias Deiminger, Antonio Rojas, Burkhard Lück, Christoph Feck, Elvis Angelaccio, Gilbert Assaf, Heiko Becker, Hrvoje Senjan, Marco Scarpetta, Miklós Máté, Pino Toscano, Yuri Chornoivan.

Miquel Adroer

Ubuntu Install Party

Tal com marca la tradició, després de 6 mesos d’espera, el proper 13 d’abril es farà pública la versió definitiva del GNU/Linux Ubuntu 17.04.

Per cert que aquesta serà l’última versió amb l’escriptori Unity, la que vindrà després, si no canvien d’idea, vindrà amb l’escriptori Gnome. Gnome (wikipèdia)

Per celebrar-ho, la comunitat de l’Ubuntu en català organitzem una Install Party, on hi ha l’oportunitat de conèixer quelcom més enllà del conegut windows. Un sistema operatiu lliure mantingut per la comunitat, fiable, estable i sense virus.

Aquestes festes són organitzades per tot el món
pels grups locals (LoCo Teams) de l’Ubuntu.

La nostra festa se celebrarà el dia 13 de maig al Soko Tech de Barcelona. Jo hi faré una xerrada.


Inscripcions: el formulari es troba a

La inscripció és gratuïta. Us hi esperem!

Albert Astals Cid

Akademy 2017 Call for Papers deadline is in a week!

The Akademy 2017 Call for Papers ends April 10th at 23:59:59 CEST.

Surely you have interesting stuff to share with the community, so go to and submit a proposal!

Albert Astals Cid

Okular table selection mode is amazing

I case you didn't know ;)

Okular has a amazing table select mode where you select an area and Okular will auto detect rows and columns on it (you can fine-tune it afterwards) and then you can directly copy&paste to a spreadsheet :)

It's mostly tested on PDF files, but should work the same on any of the formats we support text extraction.

Update: This feature is not new, just i got to use it today ;) Video at

Alex Muntada

Notes from FOSDEM

Going to FOSDEM has always been a mix of feelings: is that time of year when you meet many friends from the Free Software community, you learn some interesting things that you didn’t know about, you share some knowledge, and you may have a fair amount of chocolate and beer in a usually cold weather.

Sometimes talks are not what they seem, and oftentimes you can’t get into a room because it’s full. But there’s always the chance to learn something new, so here’s my list of notes:

  • Play etcd if you want to try it and see what happens when you make changes.
  • Minikube: mini Kubernetes for developing on your laptop.
  • Software Heritage API is publicly available.
  • OpsTheater offers a stack for IaaS with Puppet, Foreman, GitLab, Icinga, ELK+Graphana, Mattermost (integrates easily with GitLab).
  • Recommendation: move things from Hiera to Foreman smart parameters. Debugging Hiera can be a nightmare if you have hundreds of YAML files.
  • octocatalog-diff compares two Puppet catalogs without deploying the changes. Facts are not live and changes in providers won’t show. A Foreman plugin is available too as a proof of concept.
  • Puppeteer helps find configuration smells that violate recommended best practices.
  • Legacy docs are big, comprehensive, and feature based. Modular docs are lean, concise, targeted, and user-story based. Content rot makes docs hard to find and navigate. Document only what users need, as user stories.
  • Perl6 grammars make it easy to implement informal DSLs. Reading recommendation: Domain Specific Languages, by Martin Fowler (2010).

Happy hacking!

Albert Astals Cid

Okular Form Field auto-updating (Work In Progress)

You can see it in

As the description of the YouTube video says:

Form 14 updates from Form 13 values as defined by the PDF file.
There's a few bugs left:
* To make the page contents update i need to edit another form in the page of the form that is being auto updated
* The contents of the "editable" Form are not updated. (The form is actually not editable since it's readonly)

And also a pile of uncommited and unreviewed patches, and probably only works for very simple files like this one, but it's a start :)

Update: It works fine now and everything has been commited :)

Albert Astals Cid

KDE Applications 17.04 Schedule finalized

It is available at the usual place

Dependency freeze is in 4 weeks and Feature Freeze in 5 weeks, so hurry up!

Alex Muntada

Config Management Camp

This was my first time at the Config Management Camp in Gent and I had a great time and you’ll see from my notes below that it was definitely worth it.

Day 1

  • Recommendation: use find-nodes from PuppetDB with i parallel SSH (pssh).
  • Services resiliance depends on human resiliance (HumanOps).
  • tiny puppet installs applications on any OS (slides):
    • e.g. tp install puppetdb
    • tinydata is the default source for application data.
  • Vox Pupuli maintain abandoned puppet modules.
  • Reading recommendation: Thinking in Systems: A Primer, by Donella Meadows.
  • Puppet extensions:
    • Ruby functions can take lambda arguments.
    • dalen-puppetdbquery query_resources function to find other nodes resources.
    • Puppet faces allows new puppet subcommands (dalen-puppetls).
  • Foreman unknown gems (slides):
    • Foreman hooks plugin.
    • Trends show changes over time.
    • Bookmark searches. Puppet can ask the search API for information with puppet-foreman module.
    • Class import has rules to hide things in the UI.
    • hammer ssh -c ‘uptime’ -s ‘architecture=…’
    • foreman-rake hosts:scan_out_of_sync
    • There are several Foreman UI themes.
    • API docs are available in your Foreman instance as http://foreman/apidoc
  • Types and providers:
    • require “wirble” in ~/.irbrc
    • Pro tip: use Puppet types and providers for managing web APIs.

Day 2

  • Inspiring story by Annie Hedgpeth, My Journey Into Technology Through Inspec (video).
  • Getting data to the end user:
    • Memex maps the Dark Web.
    • NASA beards like GitHub, sysadmins don’t.
    • juju allows users choose their applications, configure and scale them.
  • Someone mentioned that libral (a native Resource Abstraction Layer) seemed interesting.
  • Quality automation with rudder-dev (slides)
  • undef: refactoring old puppet code (slides)
    • Puppet 3.x is EOL.
    • Hiera overload, bloated YAML. Clean it up!
    • Lack of validation/CI:
      • Syntax error should not be deployable.
      • Fix style with puppet-lint -f
      • rspec-puppet to test special cases.
      • Beaker or Test Kitchen for acceptance tests.
    • VCS top notch:
      • Make it easy as possible to avoid mistakes.
      • Put full context in the commit message.
      • Use the body to explain what and why, not how.
      • Commit often, perfect later, publish once.
      • The git pickaxe shows you how to find any text in the commits.
      • GitMagic helps setting contribution guidelines.
    • Make newbie experience better:
      • Start with control-repo.
      • Pick supported forge modules, then pick approved ones.
      • puppet module skeleton
      • Write as little as possible.

Hope you find the notes useful. Let me know if you have any questions.


Rafael Carreras

Dia de Llibertat del Maquinari 2017

Aquest any tornem a l’Escola del Clot de la mà del Jordi Binefa. No cal córrer, que la celebració serà el 22 d’abril, per això volem saber quins temes us interessarien més i alhora demanem ponents per fer-hi xerrades o tallers. L’horari previst serà de 10 a 15 h.

Si us plau, contacteu amb mi tant per suggerir temes com per proposar-vos com a ponents.

Albert Astals Cid
Albert Astals Cid

The dangers of stable/LTS/supported versions

Ubuntu 14.04 LTS is supported until April 2019 and ships poppler 0.24.5

RHEL 7.3 ships poppler 0.26.5 (I may be wrong, is the best info i could find, Red Hat does not make easy to know what you're buying)

Debian stable (Jessie) ships poppler 0.26.5

Current release is poppler 0.49

This means that people are running stable versions and thinking they are secure, but if we trust security specialists, [almost] every crash can be exploited, and I'm almost sure neither Ubuntu nor RedHat nor Debian have backported all of the crash fixes of the more than 20 releases and 2 years of development behind those *very old* versions they are shipping.

I don't know how/if this can be fixed, but i honestly think we're giving users a false sense of security by letting them run those versions.

Albert Astals Cid

No one "works" on Poppler

I thought that was obvious, but today someone thought that i was "working" as "paid working" on it.

No, I don't get paid for the work i do on Poppler.

It's my computing hobby, and on top of that it's not even my "primary" computing hobby, lots of KDE stuff take precedence over it, and i guess Gnome stuff may also take precedence for Carlos (second top commiter according to the git shortlog)

Aside a few paid contributions and some patches that may have come from people that use the software on their business (and we could file them under "paid" since they did the fix as part of their job) no one has a paid job that is mainly "work on poppler".

I guess we've done a good enough job as hobbyist :)

Obviously we could do better, so if you have lots of money and are interested in making free software PDF rendering beter please hire someone to help us (no, this is not me asking for money, I've a good enough job already).

And if you don't have money but you have some free time and like to help, join us :)

And if you really really have some free time or lots of money you could port Okular, Evince et al to pdfium and see if it's actually better/worse than poppler.

Albert Astals Cid

Finding a valid build order for KDE repositories

KDE has been lately been growing quite a bit in repositories, and it's not always easy to tell what needs to be build before, do i build first kdepim-apps-libs or pimcommon?

A few days ago i was puzzled by the same question and realized we have the answer in the dependency-data-* files from the kde-build-metadata repository.

They define what depends on what so what we need to do is just build a graph with those dependencies and get a valid build order from it.

Thankfully python already has a module for graphs and stuff so was not that hard to write.

So say you want to know a valid build order for the stable repositories based on kf5-qt5

Here it is

Note i've been saying *a* valid build order, not *the* valid build order, since there are various orders that are valid since not every repo depends other repos.

Now i wonder, does anyone else find this useful? And if so to which repository do you think i should commit such script?

Albert Astals Cid

KDE Applications 16.12 branches created

The dependency freeze for KDE Applications 16.12 is on since November 10

For all repositories part of the KDE Applications 16.12 release the Applications/16.12 branch has been created.

The list of modules+branches that will be part of the release is at

Please make sure the list is correct. If it's not please email release-team at *NOW*

From now on master is open for feature changes, but remember that all your fixes also should get to the Applications/16.12 branch (my suggestion, commit fixes to Applications/16.12 and then merge that branch to master)

KDE Applications 16.12 Beta (version number 16.11.80) will be tagged November 17 at 23:59 UTC

Once the Beta is tagged no more features can be added.

Albert Astals Cid

KDE Applications 16.12 Schedule finalized

It is available at the usual place

Dependency freeze is in 2.5 weeks and Feature Freeze in 3.5 weeks, so hurry up!

Rafael Carreras

Dia de la Llibertat del Programari 2016

Com cada any, celebrem el Dia de la Llibertat del Programari a Barcelona, aquest cop a l’Ateneu La Bòbila de Nou Barris.

Serà el dissabte 17 de setembre per la tarda. Podeu visitar el web del DLP per a més informació i veure quines ponències hi ha.


Albert Astals Cid

I'm going to Akademy :)

I'm coming back home on Tuesday afternoon-ish so if you want to catch me for something be sure to make it before then :)

See you in Berlin!

Josep Sànchez

Actualització de Fedora Workstation 23 a 24 amb DNF

Logotip de la distribució de Gnu/Linux, Fedora

Logotip de la distribució de Gnu/Linux, Fedora

En un terminal amb permisos d’administració o accés a «sudo», fem:

dnf upgrade --refresh

dnf install dnf-plugin-system-upgrade

dnf system-upgrade download --releasever=24

dnf system-upgrade reboot

I, un cop reiniciat el sistema, i despres d’una bona estona de baixada, instal·lació, actualització, neteja i verificació de paquets, tot hauria d’estar en ordre.

Més informació al wiki sobre actualització amb DNF del Projecte Fedora.

Status del servidor de Caliu

Revisió d'alta tensió al Campus Nord

Per tal de dur a terme la revisió anual de les diverses estacions transformadores d’alta tensió del Campus Nord de la UPC, el proper dimarts 2 d’agost es produirà un tall de subministrament elèctric a les instal·lacions on s’allotja el servidor de Caliu, per la qual cosa els serveis que allotja no seran accessibles.

L’apagada del servidor s’iniciarà a les 6:00 i s’allargarà com a mínim fins les 17:00.

Podreu seguir l’evolució de l’actuació per twitter.

Us preguem que dispenseu les molèsties que el tall us pugui ocasionar.

Actualització: el manteniment ha finalitzat. Tots els serveis tornen a estar operatius. Si detecteu qualsevol problema adreceu-vos al correu

Alex Muntada

Reunió de juny de

Per la reunió del passat mes de juny dels Perl Mongers de Barcelona fam fer un experiment al que vam anomenar Testing Open Space, una mena de desconferència en què l’eix central seria el concepte dels tests i els temes dels que es parlarien es decidirien a la mateixa reunió. Comparteixo aquí el resum de la reunió que he enviat a la llista perquè crec que també podria ser interessant per a gent de fora de la comunitat dels mongers.

Després de les presentacions corresponents (teníem cares noves) vam explicar diferents casos amb què ens trobem que cal introduir tests, sobretot d’integració, en sistemes legacy. Vam posar com a exemples els següents:

  • Introduir tests en un sistema no modularitzat per a fer les altes d’usuaris als serveis del meu departament. És un codi que originalment es va fer per resoldre un problema concret i que ha anat creixent de forma descontrolada (un script per cada servei) i sense tests.
  • Introduir tests en una eina per automatitzar els pull requests als upstreams dels mòduls de Perl que empaquetem a Debian. Ja tenim una forma d’enviar les diferències dels canvis que hem de fer per generar els paquets a Debian, però per als upstreams que tenen els repositoris a GitHub volem crear directament els pull requests.
  • Com fer tests d’integració en un sistema que utilitza serveis d’Amazon Web Services (AWS) sense replicar tot l’entorn de producció.

En aquest punt vam fer una petita explicació de les diferències entre els tests funcionals o unitaris i els d’integració. També vam parlar de mocking i de com evitar-lo tenint diferents entorns per a producció i test.

Tot seguit, vam comentar com amb refactoritzacions petites que vagin afegint una capa d’abstracció als serveis d’AWS es podrien fer els tests més fàcilment: aquest middleware primer cridaria exactament als serveis d’AWS (assegurant així que no s’introdueix cap canvi de disseny que afecti al funcionament) i que després gradualment es podria anar evolucionant fins que permeti fer tests sense tocar els serveis d’AWS. Vam comparar-ho amb el patró Model-View-Controller i amb altres middlewares com DBIC.

Després vam fer una mica de teràpia de grup parlant dels motius pels quals no es fan els tests i la qualitat del codi no és la que hom desitjaria. Vam parlar del triangle de ferro (recursos, abast, temps i qualitat) i de la versió pick two.

Finalment, ja quan estàvem a la porta a punt de marxar va sorgir el tema del Behaviour-Driven Development i vam comentar molt ràpidament què fa i quina diferències té respecte al Test-Driven Development: el primer està orientat a negoci i el segon a desenvolupament.

Us recomano aquest parell de llibres:

També podeu trobar interessant aquest vídeo sobre La economia del refactoring d’en Xavi Gost a la CAS2014 (no estic d’acord amb tot el que diu però el trobo igualment interessant).

Albert Astals Cid

KDE Applications 16.08 Schedule finalized

It is available at the usual place

Dependency freeze is in 2 weeks and Feature Freeze in 3 weeks, so hurry up!

Orestes Mas

Porting Cirkuit to KF5

As a teacher of Circuit Theory at UPC have to generate a lot of materials (problems, exams, slides, assignments, etc.) containing circuit schematics, graph plots, diagrams and so on. Normally I use TeX/LaTeX to typeset them, including the creation of all graphics programmatically, so I make extensive use of the excellent Cirkuit app from Matteo Agostinelli to preview my graphic work before inserting it into the documents. At present, Cirkuit supports previewing graphic material written in Circuit Macros, PGF/TikZ, PSTricks and Gnuplot, but other backends can be added easily.

Unfortunatelly, Cirkuit has not been updated for the past 4 years, as Matteo got a real job and has no plans on working on it again for now. So, I decided to go into the wild and take care of porting Cirkuit to KDE Frameworks 5 and, eventually, become maintainer of this application.

So, if you are also a Cirkuit user, stay tuned to know about any progress in this subject.

Albert Astals Cid

Akademy 2016 travel support

If you want to attend Akademy 2016 but are a bit short on money, that is no excuse :)

Read for more info on how the KDE e.V. can help you!

Albert Astals Cid

Workaround for trouble with updating akonadi tables

I was just updating the Kubuntu packages that move from akonadi 15.08 to 15.12.1 and sadly akonadi failed to migrate with this error

Adding new foreign key constraints
Updating index failed:
Sql error: Cannot add or update a child row: a foreign key constraint fails (`akonadi`.`#sql-6ea8_3`, CONSTRAINT `#sql-6ea8_3_ibfk_1` FOREIGN KEY (`PimItem_id`) REFERENCES `pimitemtable` (`id`) ON DELETE CASCADE ON UPDATE CASCADE) QMYSQL: Unable to execute query
Unable to initialize database.

Bug 354536 will be fixed with the akonadi 15.12.3 release next week.

Lucky meanwhile amazing Dan was ready to help me workaround the issue.

You need to start mysql (if that's what you're using as akonadi backend)
mysqld --defaults-file=$HOME/.local/share/akonadi/mysql.conf --datadir=$HOME/.local/share/akonadi/db_data --socket=/tmp/akonadi-mysql.socket

then connect to it
mysql -S /tmp/akonadi-mysql.socket

And run a series of sql commands

After that shut down mysql
mysqladmin -S /tmp/akonadi-mysql.socket shutdown

And start akonadi and you should be golden again
akonadictrl start

Albert Astals Cid

KDE Applications 16.04 Schedule finalized

It is available at the usual place

Dependency freeze is in 4 weeks and Feature Freeze in 6 weeks, so hurry up!

Status del servidor de Caliu

Manteniment als servidors

Durant el dissabte 16 de gener de 2016 estarem fent tasques de manteniment als servidors. Els serveis funcionaran de manera discontínua. Actualitzarem aquesta nota a mida que els serveis tornin a funcionar amb estabilitat.

Actualització: el manteniment ha finalitzat. Tots els serveis tornen a estar operatius. Si detecteu qualsevol problema adreceu-vos al correu

Miquel Adroer

Virus al PC? Solució = instal·la Linux

Has tingut un virus al PC recentment?
Cansat de pagar l’antivirus perquè l’ordinador vaig més lent?
Algun atac informàtic?
Preocupat que et vulnerin les dades personals o bancàries?

Potser és el moment de plantejar seriosament l’ús d’un sistema operatiu basat en Linux. Els s.o. basats en Linux són coneguts per la seva fiabilitat i robustesa. De fet, els servidors (ordinadors centrals que donen servei a altres equips) utilitzen Linux més que no pas Windows o altres sistemes.

Si no saps com instaŀlar o utilitzar un s.o. Linux pensa que és més senzill que utilitzar windows. Només cal una mica de formació i adaptació.

Ubuntu és un dels s.o. més populars basats en Linux. Té diferents versions.
Una versió prou nova n’és la MATE, aquí hi tens una guia d’ús i instal·lació pensada pels usuaris més novells:
Guia Ubuntu MATE

Status del servidor de Caliu

Manteniment al servidors

Durant el dissabte 24 de novembre de 2015 estarem fent tasques de manteniment als servidors. Els serveis funcionaran de manera discontínua. Actualitzarem aquesta nota a mida que els serveis tornin a funcionar amb estabilitat.

Actualització: el manteniment ha finalitzat. Tots els serveis tornen a estar operatius. Si detecteu qualsevol problema adreceu-vos al correu

Albert Astals Cid

KDE dinner in Berlin - October 3

This weekend the KDE e.V. board is going to have an in-person board meeting in Berlin.

We would like you to join us for dinner on Saturday 3 around 19:00 (location still undecided, suggestions accepted).

If you are interested in talking about KDE, KDE e.V., Free Software, Open Source, today's elections in Catalonia or any other random talk and want to have a good time let me know that you're coming (latest by Wednesday night).

Albert Astals Cid

September 26: SystemSettings and KCMs bug triaging day!

Today/Tomorrow September 26 is SystemSettings and KCMs bug triaging day.

As described by Jeremy in this post in the KDE Gardening mailing list the purpose is:

1. Triage all bugs in the systemsettings product (and maybe the kcm product too).
2. If a bug is reproducible still, comment on it and find someone that knows how to fix it and convince them to do so.
3. Find maintainers for as many of the kcms as we can.

This is something anyone with a relatively new Plasma installed can help with so join us on September 26 at the #kde-devel IRC channel!

Personally I'll be on from 10am Spanish time until around 4pm with some lunch time in between.

More info at the gardening wiki for SystemSettings

Albert Astals Cid

Using git the proper way for correct release changelogs

If you look at kdenlive's changelog for KDE Applications 15.08 and for KDE Applications 15.04.3 you'll see that "Fix autosave not working when opening project file from command line or click in file browser" shows up in both.

On the other hand if you have a look at gwenview, in 15.04.3 it shows "Make saving thumbnails work again" while it's not part of 15.08.

Does that mean that this bug got lost?

No, gwenview is actually the correct thing, we should not mention a bug again for 15.08 if it was released in 15.04.3, since well it's been released already :D

So why does kdenlive, marble and others show commits in the two places?

Because their developers are not doing the proper git-thing of commiting to the oldest supported branch and then merging up to master, so for git it's two different commits instead of the same (in case of the kdenlive commit in question it'd be and

Commiting the fix to the oldest supported branch and then merging up has lots of other benefits (like making sure you never forget a fix in master), but maybe this is the one that finally convinces more devs to switch to it, nicer changelogs ;)

Albert Astals Cid

KDE Workspaces 4.11 End of Life this August

Back in August 2013 we promised to do Long Term Support for kde-workspace for 2 years.

This means this August is the last release for kde-workspace (coming with KDE Applications 15.08.0).

Of course, we can extend the releases if anyone has a strong reason.

If you do, head to the release-team mailing list!

Josep Sànchez

Còpia de seguretat incremental amb rsync en una línia

Amb marca de temps, preservant tots els atributs dels fitxers i directoris, fitxer de registre d’activitat i efectuant una còpia incremental, realment només es transfereixen els fitxers modificats des de l’última còpia, sent la resta d’entrades hard links a l’última còpia:

ahir=$(date --date="yesterday" +"%d%m%Y");avui=$(date +"%d%m%Y");logsave -a camí_al_fitxer_de_registre$avui rsync -avzhH --progress --link-dest=/Còpia$ahir /DirectoriOrigen/* /Còpia$avui/

Albert Astals Cid

rsibreak port to KF5 started!

I just started the port of rsibreak to KF5.

Contributions at

Albert Astals Cid

Akademy 2015 and Akademy-es 2015 recap

I'm back home after more than a week of talks and hacking in the beautiful city of A Coruña.

There I attended Akademy, the international conference of the KDE Community, and Akademy-es, it's Spanish counterpart.

First off I'd like to thank the local organization, GPUL, that as always has done an amazing job in hosting us, repeating the success of Guademy, Akademy-es 2008, KDE-EDu sprint, etc.

Also kudos to the Scottish-Kenny duo, top notch organizing work as always.

Finally thanks to the both Akademy and Akademy-es sponsors. Specially Qindel, that sponsored us for the first time, hope we can continue the relationship in the future.

The talks this year were specially interesting, I attended some good BoFs on releasing and translation infrastructure, hopefully some improvements coming your way soon :)

Of course not everything is perfect and my biggest pain point this year was that we did not have as much people in Akademy-es as we expected. Akademy-es happened the 2 days before Akademy and this meant that lots of local people from the organization team were helping set up the place instead of attending the talks; also on Friday some of us (I count at least 8) were attending the KDE e.V. General Assembly so couldn't attend Akademy-es either. Definitely something to think about and improve next time Akademy and Akademy-es happen at the same place.

But all in all pretty positive experience as always, nice to meet so many KDE people :)

<iframe allowfullscreen="allowfullscreen" frameborder="0" height="281" mozallowfullscreen="mozallowfullscreen" src="" webkitallowfullscreen="webkitallowfullscreen" width="500"></iframe>

Status del servidor de Caliu

Revisió d'alta tensió al Campus Nord

El proper dimarts 4 d’agost es realitzarà el manteniment anual de les estacions d’alta tensió del Campus Nord de la UPC i això comportarà un tall del corrent elèctric de tots els edificis del campus entre les 07:00 i les 16:00. El tall afecta el centre de dades on el departament de TSC hostatja generosament el servidor de Caliu.

Així doncs hem programat una aturada remota del servidor de Caliu a les 06:00 i tornarà a estar disponible l’endemà, quan els tècnics del departament posin en marxa tots els equips.

Rafael Carreras

Ponències per al Dia de la Llibertat del Programari 2015

Com acada any, preparem el Dia de la Llibertat del Programari per al 19 de setembre.

I com cada any, volem presentar una graella de ponències interessants relacionades amb el programari lliure. En teniu alguna preparada o us faria il·lusió preparar-ne alguna? Contacteu-me, si us plau, i en parlem.

Salut i programari lliure!

Josep Sànchez

Error llibreria «libudev» en iniciar el client de l’Spotify

En Tux connectat a l'Spotify
Si us trobeu amb un error similar a aquest en iniciar el client Gnu/Linux de l’Spotify (en teoria encara està en beta):

papapep@SIST-001:~$ spotify
spotify: error while loading shared libraries: cannot open shared object file: No such file or directory

reviseu si teniu instal·lada la llibreria libudev-dev. Si no la teniu instal·lada, feu-ho. Si ja la teniu instal·lada, però encara us dóna l’error, podeu resoldre-ho fent un:

sudo ln -s /usr/lib/ /usr/lib/

A partir d’aquest moment, ja us hauria de funcionar correctament. Això m’ha funcionat a una Debian Wheezy, probablement a d’altres distros s’hagi d’adaptar el camí de la llibreria en fer l’enllaç.

Josep Sànchez

Gnome 3, finestres i botons

Logotip del projecte Gnome
Una cosa tan, teòricament, simple com moure els botons de les finestres a l’esquerra i poder decidir quins volem que es vegin, pot ser una mica de mal de cap si no sabem ben bé el com. Al Gnome 3.14, el que utilitza actualment la Fedora 21 (probablement us funcioni també a d’altres distribucions GNU/Linux que tinguin una versió similar del Gnome), executant un:

gsettings set org.gnome.desktop.wm.preferences button-layout 'close,maximize,minimize:'

tindrem 3 formosos botons a l’esquerra de la barra de, la majoria de, les aplicacions. Algunes, com el Chrome, s’ho passen per l’arc de triomf, per les llibreries que utilitzen, però la majoria de cops funcionarà correctament.

Els 3 botons de la finestra

Si us fixeu en la combinació “close, maximize, minimize:“, els noms dels botons són auto-explicatius. Els dos punts (:) indiquen a quina banda de la finestra els volem. Si són a l’esquerra dels dos punts, a l’esquerra, si comencem la cadena de text pels dos punts i després posem la descripció dels botons, sortiran a la dreta de les finestres.

Tan senzill com això. 🙂

Josep Sànchez

OpenVPN, claus, certificats i SELinux

Si voleu connectar amb un servei de VPN basat en OpenVPN i teniu els fitxers de claus i certificats fora de ~/.cert, i teniu SELinux activat, clar, o feu això o tindreu molts maldecaps per a fer la connexió (cal fer-ho amb un usuari amb permisos d’administració):

semanage fcontext -a -t home_cert_t /cami_on_teniu_el_fitxer/fitxer


restorecon -R -v /cami_on_teniu_el_fitxer/fitxer

això repetit pels 3 fitxers, 2 .crt i 1 .key que tindreu.

Fet això, si no hi ha cap altra cosa que us estigui blocant l’accés, ja us hauria de funcionar i hauríeu de poder connectar amb el servidor.

Albert Astals Cid

KDE Applications 15.08 release schedule

We have just made official the release schedule for KDE Applications 15.08.

It's a bit simpler than in previous times, let's see if it works out.

Freeze is in 2 months

Full schedule at

Albert Astals Cid

Help the KDE eV write a privacy policy for Piwik

We want to enable piwik to get meaningful statistics of visits, to be nice with privacy for that we have enabled the ip anonymizer plugin but we still need to provide a way for people to opt out.

More info at the task (Use this link if you don't have a KDE identity account)

Albert Astals Cid

Dear Lazyweb: What to visit in Alaska?

I'm holidaying in Alaska for a few weeks around June, anyone has been there and can share the stuff we should totally not miss/do when visiting?

Albert Astals Cid

Akademy-es 2015 registration open

We have just opened the registration for Akademy-es 2015.

This year we are piggy-backing on the Akademy 2015 registration system since Akademy-es 2015 happens in the same place just 2 days before so we thought it made sense have a common registration for both.

More info at

See you at A Coruña!

Albert Astals Cid

Submit your talk to Akademy 2015!

The Call for Papers deadline for Akademy 2015 is just 10 days away. So you should submit a talk now, you know you have cool stuff to share, so do a small write up and tell the world that awesome new stuff you're working on.

And of course don't forget to register as always it's free but let's us know how many of you nice people are going to come over ;)

Ah and we also have the badges available, thanks to Alba Carro for the nice pictures :)

Albert Astals Cid

KDE dinner in Berlin - April 11

In a few weeks (April 11-12) the KDE e.V. board is going to have an in-person board meeting in Berlin.

We board people have to eat from time to time and since we like talking to other people besides ourselves we’re organizing a dinner on Saturday 11 around 19:00 (location still undecided, suggestions accepted).

So if you are interested in talking about KDE, KDE e.V., Free Software, Open Source, or any other random talk and want to have a good time let me know that you're coming as soon as possible, space is limited.

Albert Astals Cid

KRecipes Gardening Day: Saturday 21 February

It's clear the current KRecipes gardening effort is not having much traction, but before moving on to different applications, let's try a different format, the Gardening Day.

This Saturday 21 February we will meet at #kde-devel on freenode IRC from 9 UTC onwards (It'll probably go well into the UTC late-afternoon) to work on KRecipes.

There's three main topics:
* Triage and fix bugs
* Make tests pass in jenkins
* Port code away from Qt3Support/KDE3Support (without breaking stuff :D)

If we have some extra time we can try to work on some feature like using
KUnitConversion to convert between units.

You don't need to be an expert on KRecipes to help, so join us :)

Albert Astals Cid

KDE Applications 15.04 Feature Freeze is in 2 weeks

As per our Release Schedule, the freeze for KDE Applications 15.04 is in two weeks (25 February).

Get yourselves ready!

Albert Astals Cid

Qt 5.4 QML -> C++ QVariant issues

I usually don't blog about what I do in my day-time job in my personal blog but since this may affect some of the KDE/Qt developers I will do this time.

Qt 5.4 was released three months ago; at Canonical we're starting to move the Ubuntu Pĥone codebase to it now and it has an important behavior change as noted in it's changes file (that is quite hard to find by the way, it took me like 5 minutes to find, and that's knowing it existed, searching for "qt 5.4 changelog" does not return that is the important page) that has affected us in many places

The important behavior change is that now some QVariants will be passed to C++ as QJSValue-QVariants instead of QStringList-QVariants, QMap-QVariants, etc so if your code did things like checking the variant type now it will fail, so basically for any C++ function that receives QVariants from QML you need to add extra code to unbox the QVariant, i.e.

void MyClass::myFunction(QVariant v)
// unbox the QVariant-QJSValue
if (v.userType() == qMetaTypeId<QJSValue>()) {
v = v.value<QJSValue>().toVariant();
// This is your old code that checks the type
// of the QVariant is a valid one
if (v.type() != QVariant::Map &&
v.type() != QVariant::List &&
v.type() != QVariant::StringList) {
qWarning() << "Bad param" << v;
// From here your old code that does things

Albert Astals Cid

Disabling downloadable fonts

We have a nice new style for I think it is generally an improvement over what we had, but sadly it decides to force the oxygen font over my browser selected font.

If you're like me and can stand the oxygen font being forced over the font you chose on your configuration have a look at this article to see how to disable downloadable fonts.

Update: Unfortunately if you do that you'll lose the K-logo on the left because instead of an icon we're using a font to render it. So now I have to decide between unreadable (for me) oxygen font a having the broken K-logo on the top.

Albert Astals Cid

Help test KDE Bomber game

As Laurent mentioned we are moving some KDE games from kdelibs4-based to kf5-based for the next KDE Applications 15.04 relase.

Today we just switched libkdegames, libkmahjongg and bovo. Next target is bomber, so if you have some time grab the master branch of libkdegames and the frameworks one of bomber, give it a try and make sure we're not regressing somewhere we didn't realize.

Albert Astals Cid

GSoC student digikam sprint experience

Very refreshing to read about one of our GSoC students experience traveling for the first time to Europe for a KDE Sprint :)

And thanks to Tobias and The Qt Company for hosting the sprint in their Berlin offices :)