ia: Benvenite! In mi blog io scribe in interlingua, italiano e anglese.

it: Benvenuti! Nel mio blog scrivo in interlingua, italiano e inglese.

en: Welcome! In my blog I write in Interlingua, Italian and English.

WIP: changing the backend for contacts in Ubports

More than one year has passed since the initial announcement of my plan to investigate using a different backend for contact storage. If you want to get a better understanding of the plan, that mail is still a good read -- not much has changed since them, planning wise.

The reason for this blog post is to give a small update on what has happened since then, and as a start nothing can be better than a couple of screenshots:

Adding CardDAV accounts in the Addressbook application
Aggregated contact details from multiple sources

In other words, that means that contact synchonisation works, both with the new CardDAV protocol (for which we'll have preconfigured setups for NextCloud and OwnCloud accounts) and with Google Contacts, for which we are now using a different engine. What you see in the second screenshot (although indeed it's not obvious at all) is that the new qtcontacts-sqlite backend performs automatic contact merging based on some simple heuristics, meaning that when synchonising the same contact from multiple sources you should not happen to find a multitude of semi-identical copies of the contact, but a single one having all the aggregated details.

Before you get too excited, I have to say that this code is pre-alpha quality and that it's not even available for testing yet. The next step is indeed to setup CI so that the packaggqes get automatically built and published to a public repository, at which point I'll probably issue another update here in my blog.

The boring stuff

And now some detail for those who might wonder why this feature is not ready yet, or would like to get an idea on the time-frame for its completion.

Apart from a chronical lack of time from my part, the feature complexity is due to the large number of components involved:

  • qtcontacts-sqlite: the QtContacts backend we are migrating to. This is a backend for the QtContacts API (used by our Addressbook application) which uses a SQLite database as storage for your contacts.
  • buteo-sync-plugin-carddav: the CardDAV plugin for Buteo (our synchronisation manager). This plugin is loaded by Buteo and synchronises the contacts between a CardDAV remote source and the qtcontacts-sqlite database.
  • buteo-sync-plugins-social: a Buteo plugin which can synchronise contacts from a multitude of sources, including Google, Facebook and Vk. At the moment we only care about Google, but once this feature has landed we can easily extend it to work with the other two as well.
  • address-book-app: this is our well-known Contacts application. It needs some minor changes to adapt to the qtcontacts-sqlite backend and to support the creation of new CardDAV, NextCloud and OwnCloud accounts.
  • QtPim: the contacts and calendar API developed by the Qt project. Our Contacts application is using the front-end side of this API, and the qtcontacts-sqlite component implements the backend side. There are some improvements proposed by Jolla, which we need to include in order to support grouping contacts by their initials.

The other tricky aspect is that the first three projects are maintained by Jolla as part of the Sailfish OS, and while on one side this means that we can share the development and maintenance burden with Jolla, on the other side of the coin it means that we need to apply extra care when submitting changes, in order not to step on each other's shoes. Specifically, Sailfish OS is using a much older version of QtPim than Ubports is, and the APIs between the two versions have changes in an incompatible version, so that it's nearly impossible to have a single code base working with both versions of QtPim. Luckily git supports branches, and Chris from Jolla was kind enough to create a branch for us in their upstream repository where I've proposed our changes (and they are a lot!).

However, this is not as bad as it sounds, and the fact that I have a roughly working version on my development device is a good sign that things are moving forwards.

Elezioni: diffidate dei finti sovranisti

Da un anno a questa parte la parola “sovranità” ha acquistato importanza nel dibattito politico, e l'epiteto “sovranista” è spesso affibbiato agli intellettuali e ai politici, a volte come dispregiativo, altre volte invece rivendicato dal soggetto stesso come un attributo virtuoso. Tra questi ultimi, tuttavia, si nascondono alcune personalità che di sovranista hanno solo uno slogan e una mezza idea che sbandierano ad ogni comparsa televisiva, mentre si candidano in un partito, sia esso la Lega o il Movimento 5 stelle, i cui vertici restano saldamente fedeli all'Unione Europea e alla NATO.

Cambieremo l'Unione Europea dal di dentro

Diretta FB con i candidati Elia Torrisi (Più Europa) e Francesca Donato (Lega)

Quando sentite un politico fare questa affermazione, potete star certi che si tratta di una persona che ha un'idea molto confusa su cosa significhi “sovranità”. Promettere di tentare di cambiare l'UE dall'interno significa promettere di premere qualche volta il pulsante nelle sessioni del parlamento europeo in modo da farsi sembrare un ribelle, ma senza mai scalfire l'idea che vuole le istituzioni europee scavalcare quelle nazionali.

Ascoltate per esempio l'intervista a Francesca Donato, candidato della Lega, raccolta nel video che trovate qui sopra; accostata al candidato di Più Europa le differenze si fanno estremamente tenui. Certo, vi sono divergenze sull'idea di come l'UE debba operare, ma nessuno sembra mettere più in dubbio il fatto che il nostro paese debba continuare ad operare all'interno dei dettami imposti da un sistema sovranazionale.

“Vogliamo un Europa più democratica”, si dice, senza spiegare come si possono conciliare interessi nazionali tanto diversi: se per quasi tutti i paesi dell'unione, ad eccezion fatta di Italia, Spagna e Grecia, è conveniente poter accedere alle arance e all'olio prodotti in Nordafrica, un voto democratico supporterebbe l'attuale abbattimento dei dazi.

Si parla anche di uniformare la fiscalità, affinché non esistano paradisi fiscali all'interno dell'Unione Europea; ma davvero possiamo pensare che Olanda, Irlanda, Lussemburgo e altri paesi possano accettare di vedersi alzare le tasse dall'Unione Europea?

E come risolvere il problema delle delocalizzazioni all'interno dell'UE? Ritorna anche qui la parola "uniformare", che raccoglie tuttavia un significato molto più utopico di quanto possa sembrare: un serio processo di uniformazione delle varie situazioni lavorative, che non miri a un'appiattimento dei diritti al ribasso, dovrebbe passare per l'introduzione di dazi all'interno dell'UE, regolati in modo da stimolare i paesi ad innalzare le condizioni lavorative (ovvero: ti tolgo i dazi sulle esportazioni solo quando le condizioni nel tuo paese migliorano), ma questo sarebbe in diretta contrapposizione con le forze capitalistiche che attualmente sono al potere. In altre parole, non avverrà mai.

Euro o no euro?

La Lega candida anche un brillante economista, Antonio Maria Rinaldi, che in più occasioni ha criticato il sistema Euro (come la sopracitata Francesca Donato, a capo del progetto Eurexit). Sembra tuttavia che la volontà di uscire dall'euro sia un po' scemata da quando le candidature sono state annunciate, preferendo parlare di “riformare il sistema euro”.

I sovranisti al guinzaglio di Trump

Le personalità candidate dalla Lega vantano un curriculum di tutto rispetto, e pure le idee che portavano avanti (specialmente prima della candidatura) erano per me del tutto condivisibili. Tuttavia a mio parere si sono candidate nel partito sbagliato, un partito guidato al guinzaglio da Trump (che a sua volta è il burattino di Netanyahu) e che difficilmente seguirà la volontà dei suoi elettori. Mi piacerebbe poter chiedere ai candidati leghisti se supportano le sanzioni contro il Venezuela, se i Palestinesi hanno diritto ad un loro stato, e molti altri quesiti ai quali (immagino, ritendendole persone intelligenti) le loro risposte sarebbero molto diverse da quelle di Salvini. Avrebbero il coraggio di professare apertamente le loro opinioni? E in caso di voto, avrebbero il coraggio di disobbedire al padrone?

Non che la situazione nella sponda del Movimento 5 stelle sia molto migliore: benché al suo interno vi siano persone informate e rette (una su tutte, Manlio di Stefano), all'atto pratico il partito non ha dato mostra di voler cambiare lo status quo sul piano internazionale; sul Venezuela c'è stato un timido tentativo di alzare la testa, ma sanzioni alla Russia, attaccamento all'UE e alla NATO restano ben saldi.


Employing a nazi sympathiser - RedHat under scrutiny

Update: According to some rumors, RedHat has swiftly acted and the protagonist of this story is no longer in their ranks. You still might want to read this post, though, as it was not much about facts, but opinions. :-) - 15.05.2019

Politics is hard, and when you mix politics with other, more mundane aspects of your daily life, the fight between political ideas, freedom of speech, and other principles reach such a complexity that finding clear-cut answers becomes quite hard.

Let's take for example the case, uncovered by the Ukrainian journalist Anatoly Shariy, of a RedHat employee who appears to be a Nazi sympathiser, openly posing doing the Nazi salute right in Berlin. It will be interesting to see how (and if) RedHat will react to this information; there are also other spaces to watch, given that the guy in question has been giving talks in several conferences and is a very active member of the Eclipse project.

Let's put aside the fact that in Germany exposing Nazi symbols is a crime, and let's suppose that the guy did the Nazi salute in some other place where that's not illegal; what would your reaction be, if you where the employer, or a conference organizer, or if you had some position of authority in the open source project that this guy is contributing to?

On a personal level, taking a distance from this fellow and cutting all ties would be a rather understandable step (unless, of course, you share his views); but on a professional/business level, would that be the appropriate decision? If your answer is positive, without hesitation, then this post is for you.

Showing a nice image

People have been fired or removed from their posts for much less than this, that is true. Two cases which come to mind are James Damore, fired from Google for advancing the idea that the low women representation in the IT industry might be due to some biological traits, and Brendan Eich, who ceded to pressure and resigned from its post of CEO of Mozilla after the news of his past donations to an anti-gay movement went public. I'm sure there are plenty of other similar cases out there, but these are the ones I happened to notice at the time. And I don't like how these cases ended.

While the two cases are extremely different from each other, the common denominator is that -- in my opinion -- the companies (or the person itself, in Eich's case) took a decision based exclusively at the perceived PR outcome, and not on a matter of principle. And what is worse, is that this way of handling disagreement is a great threat to freedom of speech and freedom of expression.

The world is full of racists, misoginists, homophobes, antisemitics, and, in general, of people embracing ideologies which we despise. But I'm convinced that the only way to fight these ideologies is opening a personal, one to one, dialogue with the individual in question; getting to know their background, the reasons why they came to believe in such things, and trying to find a way -- ideally, by providing yourself as a virtuous example -- to instill a doubt into their convictions, and eventually to demolish them.

The firing of someone who has expressed some non-welcome ideas acts as a threat to everyone else sharing the same views, and will lead to the result that the problem will be swept under the carpet: fire one, and you'll never know about the other dozens.

The benefits a good fight

I can imagine some of you screaming in disagreement: “But if you don't get rid of them, the whole working environment becomes poisonous: employees will no longer feel at ease (not to mention customers!)”. True, but we can take other actions, other than just fire the employee: we can actually talk. First of all, we can get him to openly state his position. It's possible (and I think this nicely applies to Damore's case) that we misunderstood what he really meant, or maybe he didn't express himself properly, or (even better) he has already changed his mind. But if that's not the case, I believe there can be a good opportunity to actually improve the situation: get people to talk.

I'm probably being naive here, but if I were the employer I would ask all the employees to report, anonymously, whether they feel comfortable continuing working with this guy. Then, organize one to one (private) meetings between this person and all his colleagues, of at least five minutes in length, and maybe repeat the whole round of conversations one more time, a couple of weeks later. And finally, get once again everyone's anonymous feedback, and draw the conclusions.

The reason why I wrote that I'm naive is because I think we'd see a clear improvement in the answers, and we'd probably contributed, if not in freeing one person from a poisonous ideology, at least in instilling some doubt.

Back to reality

Even if they read my post, I'm quite positive that RedHat will fire this guy: being in the same open source community as Google and Mozilla, the push to react in a similar way as their peers is just too strong (and that's why I condemn how the previous cases have unfolded: they traced a road which has now become too hard to avoid).

(In the specific case I confess I woudn't regret it, and -- despite all what I've written above -- I believe that firing this employee would be the proper retribuition: not for being a nazi, but because this guy had a school teacher in Ukraine fired, after he publicly accused her of showing an old soviet song to her pupils; a song that was not even about communism, and which is not at all forbidden in Ukraine!)

A critical view on the blockchain

At the beginning of this month I participated to the foss-north conference, in Gothenburg, and took the stage to give a short presentation of the blockchain technology. Given that my talk was somehow critical of the blockchain (or rather, of the projects using it without due reason) I was prepared to receive a wave of negative remarks, assuming that all the hype surrounding this technology would have infected a good part of my audience as well. I was therefore positively surprised when several people came to me afterwords to express their appreciation for my speech, appreciation that now makes me confident enough to share the video of the presentation here too:

I want to publicly thank Johan Thelin and all the other foss-north staff and volunteers who organized such a successful conference. They also managed to get the video recordings out in a surprisingly short time. Indeed, the above video is taken from the foss-north YouTube channel, which I recommend you to visit as there were a lot of good talks at the conference; the topics were so varied, that I'm sure you'll find at least a couple of talks of your interest.

Promenada photographic in Goteborg

Io me promenava con alicun collegas per le stratas de Goteborg, armate de nostre photocameras e desiderose de capturar alicun quadros interessante.

Göteborg photowalk
Un vista de Goteborg. Clicca pro vider tote le photos.

Goteborg es un bellissime citate, ma io preferiva evitar de photographar cata edificio e palacio (ben que multe de illos es vermente mirabile!), que totes pote admirar in le interrete, e in vice cercar de esser plus original, e capturar detalios o quadros plus inusual.

Io spera que le resultato vos place.