Some news, and improvements in inhibition

•18 January, 2012 • 13 Comments

Hello everyone,

I am at at the moment, where I am delivering two talks, about Qt and Multithreading, and Social applications with Telepathy. The first one was yesterday, and I was very pleased by the feedback I received – thanks to all of you who attended, and if you couldn’t make it, videos will be up soon. The conference is being streamed live, so you’re still in time to follow me on Friday.

Besides that, I wanted to blog about some improvements towards flawless power management inhibition. A GCI student, George Stephanos, took the task of testing and fixing inhibition in 4.8: the results were two bugs fixed, and dragon player being able to successfully prevent any power management action. But it does not stop here: yesterday I also added inhibition support in Okular – if you are giving a presentation with it, you don’t have to worry about your screen or your system going down anymore.

Of course this doesn’t end here: the quest for making the new inhibit button of 4.8’s battery applet less and less useful has just begun, but we need your help. What’s your favorite application in which you miss inhibition? Adding support for that is ridiculously easy, but if you don’t want to get your hands dirty, just saying something in the comments will probably have some brave developer take care of that issue for you. And if your target application is not using KDE/Solid, don’t feel cut out: we still support the legacy org.fd.o PowerManagement interface, and our APIs for inhibiting screen power saving and sleep are available through DBus as well.

And on a related note, from 4.8 on Solid::PowerManagement::beginSuppressingScreenPowerManagement will also take care of inhibiting the screensaver for you, if any. With one or two simple function calls, you can improve the user experience significantly for your and our users. So, since you no longer have an excuse, give out your help now to make power management a complete hassle-less experience in KDE!

Polkit-Qt-1 0.103.0 Released

•15 December, 2011 • Leave a Comment


a quick update just to notify a new release of polkit-qt-1. Release announcement after this link.

This release brings a fix to infamous Bug 258916, thanks to a patch by Nick Shaforostoff. Needless to say distributors are highly encouraged to update their versions.

Updates all over

•12 December, 2011 • 10 Comments

Although I promised I would have blogged more often, I find myself to be always very short on time to do that, and always in need of writing “wrap-up” posts to keep up with everything I do –  I guess you can live with that. While writing this post I am stuck in Frankfurt Airport waiting for a train, so why not writing a blog post after quite a while. But let’s cut the introductory words and let’s get straight to the point(s).

Big updates in KDE Telepathy
Last days I have been working very hard on KDE-Tp and Tp-Qt, bringing some big changes and improvements to both projects. As Martin already blogged, I took over a big part of the porting to the new Tp-Qt. One of the main reasons why we did that was some patches I have been pushing to it. First of all, thanks to the new Tp-Qt, we are now able to correctly detect action messages, such as “/me” (David already has a patch about that). High-level DBus tube support is soon to be merged as well, which will eventually allow many applications to take advantage of the feature in an easy way.
This is not everything though: the underlying architecture has undergone quite a change due to the fact telepathy-common-internals is now a private library used by all of our projects. Which means: if you want to compile KDE-Tp master, which will eventually be KDE-Tp 0.3, you will now need Tp-Qt master and telepathy-common-internals right before building anything else. Our final 0.3 release is obviously planned after the first release of Tp-Qt 0.9, so our packagers can stay assured we won’t rely on snapshots.
I have also been lucky enough to catch Nuno in San Francisco and take advantage of his awesome UI Clinic. I got some useful feedback I still need to reorganize and communicate, but it’s been indeed very interesting and useful. And I also learned something more about how to spot (and what are) UI design errors, which is always a good thing.
So, what’s coming up? Lots of things. The 0.3 release will mark the move of KDE-Tp out of Playground and into Extragear, leading the path towards our first, awesome stable release and towards starting to spread our software to all distributions near you. 0.3 should still be considered beta, but we are getting there. Our effort is complex and geared towards a stable and long-term solution, and I can assure you won’t regret the wait.
More stuff in 4.8 Power Management

If you are a loyal reader (you are, aren’t you?), you are probably aware of the big changes the Power Management infrastructure has undergone in 4.8. Before the final release, I still had the time to fix a few bugs (a lot of them were long standing from previous KDE versions, so you should indeed be happy), and to implement a few new small things. One of them is “supported actions”. What does it mean? From 4.8, individual actions are able to advertise if the system supports them. If that is not the case, the action won’t activate itself and won’t even show in the UI.
To give you an example, suppose your monitor does not support DPMS (unlikely, but well). Before this change, the “Turn off Screen” action would have appeared in the configuration UI and loaded under the hood. From 4.8 on instead, the config UI will not expose the action at all in the configuration, and the daemon will simply refuse to load it. And since the check is always done at runtime, you will be always 100% sure to see only the actions your system supports.
This is a huge step forward towards the integration of more complex and hardware-specific actions, which can now be shipped by default but be exposed only on systems which support those. It will be extremely useful on mobile devices, like in the Plasma Active land, but don’t underestimate the impact such a thing can have on desktops as well: my friend admiral is coding an action to allow automatic switching of graphic cards on systems which have this feature (like my Macbook Pro) and support it. This is quite late for 4.8 of course, but thanks to the new architecture it can be shipped into a separate package for people who cannot wait. It will probably make it into workspace in 4.9 though.
Of course, this also means if you have hardware which supports particular power management features, you should really look into writing a new Action and finally getting rid of those scripts. Although writing an action is really straightforward, I indeed plan to write a decent guide on Techbase for interested people. As I had many cries for support of particular powersaving features in different video cards, be aware that you no longer have an excuse to prevent you from contributing!
Catch me around

If you want to catch me around in the next few months, in January I will be in Ballarat at, talking about how to build social applications with Telepathy and Qt, and most probably also on multithreading features in Qt and how to get the most out of them (yes, two separate talks of course). Otherwise, I will very likely be at FOSDEM in February to meet old and new friends. If you want to catch me for a beer, be my guest. Also, I will be going around with some ALERT leaflets and will probably give out a lightning talk about ALERT and KDE’s involvement in that.
And that’s all for today, my train’s about to arrive. See you next time.

KDE Tutorials, and several updates

•10 November, 2011 • 3 Comments

Hello everyone,

I am blogging from Canada at the moment, where I am going to spend the month of November before going to San Francisco to attend Qt Dev Days, hoping to see many of you there. While I’m here, I wanted to give you a brief update of what’s happening behind the scenes and about some initiatives we had.

KDE Tutorials

Last month, in an initiative to gather more contributors, Lydia, Myriam and me held and managed a series of live tutorials about KDE. You can find the sample code I used for mine in a scratch git repository after this link. The tutorial was overall a success, and it’s something we’re gonna repeat in the near future. However, many things went wrong and need fixing to allow a better experience.

Technical problems

We tried using the Hangouts feature of G+ to hold the tutorial. We had a series of problems regarding the attendants unable to join, or non fluent video/audio streams. Besides that, we got an impressive response despite the very short time we had between the announcement and the tutorial itself. Turns out no more than 10 people can join the same hangout at the same time, making it quite impossible to handle such a thing with a decently sized audience.

Also, I didn’t manage to record the tutorial, as recordmydesktop constantly got out of memory and crashed every time. We are looking forward to suggestions on how to fix this in the next tutorials, and people helping us in providing a reliable infrastructure for live training. Do you have ideas, the know-how, and want to help? Get in touch!

What’s next for tutorials?

As I anticipated, I will do soon a series of off-line tutorials (videos) with the concepts of my last one to be posted on Planet KDE and such. But we’re keen on pursuing the live tutorial way, and we look forward to organize more of those. And since the audience is YOU, you decide: what would you like to see in an upcoming tutorial? Don’t be afraid to ask, and a friendly KDE developer will eventually hold one on the topic you suggested!

In short, you can expect more events and videos to help people getting involved in KDE even more easily. But show us your interest, excitement and your ideas: you’re going to help us and motivate us in organizing more.

Power management

As a short heads-up, everything I have been talking about in my last blog posts about power management has been merged into master before the freeze. This means: all of this goodness will be in KDE 4.8.


If you follow my friend Stuart, you probably already know I am involved as a member of the KDE e.V. in the ALERT project, a partly EU funded technology project that aims to improve the ways in whch free software communities track bugs in software, identify trends and issues and find the right person to fix a problem (yes, copy-pasted from Stu, he’s much better than me in these kind of things 🙂 ).

If you are interested in finding out what it is, it’s your chance to meet me up at FOSDEM next February and have a beer and a chat about it: I’ll be around showcasing it, so don’t be afraid of getting in touch and ask your question(s). This project might indeed become very beneficial for KDE in the future, and we’re more than happy to clear your doubts on it, and tell you what’s coming up.

GSoC Mentor Summit

I was one of the brave souls representing KDE at last Google Summer of Code mentor summit. It has been a great experience, and it was great bringing the voice of KDE out to so many different communities and people. We also got some very interesting discussions and proposals regarding next year’s SoC and a general way for making people getting involved more easily. So, if you are a student: you have another very good reason for applying for SoC next year – or, if you are impatient, there’s Code-In waiting for you right next door. It has never been more easy (and rewarding) to get started into KDE development immediately, so don’t be shy!

That’s all

…and I think I covered pretty much everything I could. Stay tuned for more news!

Dear KDE,

•14 October, 2011 • Leave a Comment

I have no time to write you something cool now, I apologize. Just wanted to say “happy birthday”. I love you.

Reminder: KDE/Qt tutorial today

•7 October, 2011 • 3 Comments

Hello everyone,

just a friendly reminder in a few hours I’ll be holding a free KDE/Qt basic tutorial. If you are interested, drop by #kde-tutorials @ freenode. The tutorial will start at 3pm GMT. For more infos, refer to Lydia’s blog post. See you there!

About Italy and freedom of speech

•5 October, 2011 • 8 Comments

Those of you who follow my blog through a feed know that I never post stuff to any planet which is not strictly part of the topic of the planet itself. Unfortunately, this time I have a good reason for spreading this blog post outside of my own feed and give it more visibility.

I guess everyone is aware of the political situation in Italy these days and I won’t comment on it in this post. This post wants to be about a specific law which is trying to harm freedom of speech in the only place which is really considered free nowadays – the internet. All of my Italian readers hopefully know I’m talking about what has been defined “Legge Bavaglio”, which is probably not news to anybody following the Italian political situation.

As this law is about to be actual, a symbolic protest has begun on Wikipedia Italy, which shut down the site to demonstrate a possible effect of this new law. I want to be sympathetic not only with Wikipedia but also with some of my friends who did something similar to help raise awareness. Hence my blog, today, is dedicated to this very issue: needless to say that this very blog might be affected by the law itself.

Instead of trying to explain why this law is extremely dangerous for freedom with my own words, I’ll simply paste Wikipedia’s statement, which summarizes the issue way better than how I could ever do. If you care about freedom in software, you should care even more about freedom of speech: if this issue touches you, don’t be afraid of letting your voice be heard. For this reason, today, and as long as it will be useful, all of the posts in this blog, except from this one, have been temporarily removed.

From Wikipedia Italy:

Dear reader,

at this time, the Italian language Wikipedia may be no longer able to continue providing the service that over the years was useful to you, and that you expected to have right now. As things stand, the page you want still exists and is only hidden, but the risk is that soon we will be forced to actually delete it.

The Bill – Rules on Wiretapping etc., p. 24, paragraph 29, letter a) states that:

«For the Internet sites, including newspapers and periodicals delivered by telematic way, the statements or corrections are published, with the same graphic characteristics, the same access methodology to the site and the same visibility of the news which they refer.»

Over the past ten years, Wikipedia has become part of the daily habits of millions of web users looking for a neutral, free-content, and – above all – independent source of Knowledge. A new, huge multi-lingual encyclopedia, freely available to all, at any time, and free of charge.

Today, unfortunately, the very pillars on which Wikipedia has been built – neutrality, freedom, and verifiability of its contents – are likely to be heavily compromised by paragraph 29 of a law proposal, also known as “DDL intercettazioni” (Wiretapping Act).

This proposal, which the Italian Parliament is currently debating, provides, among other things, a requirement to all websites to publish, within 48 hours of the request and without any comment, a correction of any content that the applicant deems detrimental to his/her image.

Unfortunately, the law does not require an evaluation of the claim by an impartial third judge – the opinion of the person allegedly injured is all that is required, in order to impose such correction to any website.

Hence, anyone who feels offended by any content published on a blog, an online newspaper and, most likely, even on Wikipedia can directly request to publish a “corrected” version, aimed to contradict and disprove the allegedly harmful contents, regardless of the truthfulness of the information deemed as offensive, and its sources.

Universal Declaration of Human Rights
Article 27.

(1) Everyone has the right freely to participate in the cultural life of the community, to enjoy the arts and to share in scientific advancement and its benefits.
(2) Everyone has the right to the protection of the moral and material interests resulting from any scientific, literary or artistic production of which he is the author.

During all these years, the users of Wikipedia (and we want, once more, to point out that Wikipedia does not have an editorial staff) have always been available to review – and modify, if needed – any content deemed to be detrimental to anyone, without harm to the Project’s neutrality and independence. In the very rare instances it was not possible to reach a mutually satisfactory solution, the entire page has been removed.

The obligation to publish on our site the correction as is, provided by the named paragraph 29, without even the right to discuss and verify the claim, is an unacceptable restriction of the freedom and independence of Wikipedia, to the point of distorting the principles on which the Free Encyclopedia is based and this would bring to a paralysis of the “horizontal” method of access and editing, putting – in fact – an end to its existence as we have known until today.

t should be made more than clear that none of us wants to question safeguarding and protection of the reputation, honor and image of any party – but we also note that every Italian citizen is already protected in this respect by Article 595 of the Criminal Code, which punishes the crime of defamation.

With this announcement, we want to warn our readers against the risks arising from leaving to the arbitrary will of any party to enforce the alleged protection of its image and its reputation. Under such provisions, web users would be most probably led to cease dealing with certain topics or people, just to “avoid troubles”.

We want to be able to keep a free and open-to-all encyclopaedia, because our articles are also your articles – Wikipedia is already neutral, why neutralize it?

The users of Wikipedia

The way forwards to a better world should be through freedom, and not through cutting it. In software, and in everything else.

EDIT: The blog is now back to normal – although this post will stay here forever.

Power management: a new screencast

•4 October, 2011 • 45 Comments

Hello everyone,

After my previous screencast, which somehow failed to upload on vimeo, I have made another one as I promised. The great news is I have implemented everything I’ve been talking about in my last blog post, and the whole thing is likely to hit 4.8 (aka master) very soon. I will probably merge everything onto master in a week; in the meanwhile, you can check out my branch dafre/new-powerdevil in kde-workspace. Have fun!

P.S.: I have switched to thanks to a reader’s suggestion. Vimeo failed to process this video as well.

(if you cannot see the embed, direct link to video for you)

Forge Sprint 2011: Power Management and its future

•2 October, 2011 • 32 Comments

Hello from Madrid. Forge Sprint is about to end, and it’s indeed time for me to blog. I have been lucky enough to get food poisoning the day my flight was scheduled – although, nothing serious: I have been able to recover quite quickly and I rescheduled my flight for day 2, and I managed to get here and do quite a lot of work.

It has been an extremely productive sprint for every Solid component, but of course I am going to put the focus back on Power Management. So here’s what we did:

Crazy bug fix

My first target for this sprint was closing as much bugs as possible. I managed to close quite a lot of them, and hopefully before the 4.7.2 tag. Some of them include DPMS, inhibition, console switching, and general reliability. You can check kde-workspace tree to have a better outlook of what happened, or simply enjoy your updated version without caring too much 🙂

Power Management + KRandR = ❤

Bug fixes are not that exciting, huh? Ok, I have something better for you. Me and Alex got together and tried to improve KRandR experience even more, by hooking it up with Power Management. The result I am explaining here is demonstrated in a video Kevin will hopefully upload soon. Bottom line, now KRandR will make Power Management aware more than 1 screen is configured: hence, if you have an external screen connected and you close your laptop lid, the PC will not suspend anymore even if it’s configured, allowing you to show your movie/presentation without caring about it. Isn’t it awesome? You can try this feature with this commit you can find in kde-workspace.

Future changes in Power Management

We have been lucky enough to have Bjorn here at our sprint. We had a huge conversation on how to improve Power Management, make it easier, less intrusive and more useful. And we came up with something which might surprise you.

It’s a completely new concept I will try to explain now. To begin, we removed the possibility of creating new profiles manually, and removed the “warning state” of the battery, which was not used by default from 4.6 on anyway. This means now there are just 3 static profiles: one for AC, one for Battery, one for Low Battery. You can still configure thresholds for low and critical batteries of course. To reflect this change, we also removed the profile combo box chooser from the battery applet. This is not exactly a new approach, but we have done that to prevent handling profiles in a bad way.

The new things start here: the battery applet lost a combo box, but gained a new button: “Inhibit”. Have you ever missed the presentation profile, that thingie which was around in KDE 4.1 times? Now you have something better. When you press the “Inhibit” button, everything related to Screen power management and session power management will be, surprise, inhibited. This means your brightness won’t change, your screen will not turn off, your PC will not suspend, no matter your configuration. So, if your favorite video player or presentation did not trigger an inhibition itself, now you’re 1 click away from a 0-annoyances experience. Of course, just turn up the extender of the applet and click on “Uninhibit” to get back to your profile.

And it doesn’t stop here. In the near future, activities will also be able to affect power management. This means you can alter settings, trigger special inhibitions and more depending on which activity you are in. This opens up to endless possibilities: suppose you like to watch TV in your bed before falling asleep. What about creating a “Before sleep” activity? Here, you can add a configuration to let your PC go to sleep after 90 minutes of idling, so that when you’ll be asleep, your PC will follow you. Or you can decide how to handle your screen and everything in each activity you are in. This will allow you to be always productive, always trusting your PC to have the perfect settings for the task you are performing.

To make everything clearer, I have done a short screencast. Unfortunately, I am still not able to showcase activity configuration as it’s under development at the moment, but really wanted to show you how the UI and the battery applet have changed. Enjoy!

UPDATE: Apparently Vimeo does not like my video. I am trying to fix this problem, in the meanwhile you can still download it from Vimeo´s page and watch it.

(if you can’t see the embed, video is on Vimeo, here)

Telepathy-KDE Sprint kicking off in Cambridge

•15 September, 2011 • 7 Comments

I am currently in Collabora’s offices in Cambridge, UK, where since yesterday a dozen of brave souls have gathered to discuss and implement the future of KDE’s instant messaging solution. We are of course talking about KDE-Telepathy.

Lots of my friends are already posting updates about the event, we had an intense planning and discussion this morning which surely leaves us with plenty to do and lots of excitement. You can surely expect more goodness about to come in the next days. This afternoon we’ll hold some training session and we’ll start hacking right away. Keep following us on Twitter, G+ and Planet KDE of course!