• One step closer towards a KDE hal-free

    One of the objectives that the solid team is currently working on, is the deprecation/removing of HAL as KDE dependency. We hope to accomplish it for KDE 4.6, but of course at the moment it is just that, a wish.

    Anyhow the complete remove is now a step closer, thanks to Dario Freddi and Lukas Tinkl I just committed the "PowerDevil 2 UPower" backend. Right now, it is build by default but is not used if the hal backend is compiled too, so in case you want to test it you have to edit powerdevilupowerbackend.desktop and set InitialPreference = 20 (lower than the hal one).

    Small entry for a small thing, but small things matter don't they?

  • Solid Sprint 2010, from my Point Of View

    Almost 1 week has passed since Solid Sprint took place, and I'm already waiting for the next event, where I can hack side by side with KDE hackers from all the world again (Maybe in the Meego conference?). It was a short sprint but intense, productive and funny, on where we discussed and worked on some different topics. Let's began from the start.


    The organisation of a small Sprint doesn't require a huge amount of time (at least didn't this one) basically the tasks to do are:

    1. Be sure that you can attend to the sprinters and having a good place for the event (office)
    2. Propose the idea and the place to some KDE group (mailist)
    3. Decide a date doing a poll
    4. Prepare a budget for the e.V board (attendees list)
    5. Send the budget to the board, together with the event explanation and wait.
    6. Finally book the rooms, and enjoy the event.
    7. Additionally, UFOCoders and Interdominios sponsored catering for all the weekend (food and drinks), and Pizza for the Sunday lunch.


    After met everybody in the room where the event took place, we went to lunch. After it we began to organize the Sprint, or better said Kevin Ottens start to explain to the rest of the team all the things that were filling the whiteboard (an entire glass wall), in it we could differ between "Discussing goals" and "Coding goals", these last were managed by using a Kanban.

    The most important point we discussed (imho) is the "Solid as a Team" one. That was something that everybody had in his mind, but it was not official. Now it is, so welcome the new Solid, reborn as a community inside KDE, containing a lot of projects like (in no particular order): libsolid, powerdevil, networkmanagement, bluedevil... So, if you have a project which is related to KDE+Hardware, don't hesitate to contact us via kde-hardware-devel mailist).

    After having discussed all the topics, we started to hack. That night (Friday) we established the first interaction between NetworkManagement and BlueDevil, it not was event using an interface or any BD/NM code, but it demonstrated to us how hard/easy it was, and that it can be done.

    After a few hours of Hacking, Sebas, Dario, and I went to take some beers (Voll daaamn :D), near de hotel, and discuss about random things. I love these discussions! exchange opinions and ideas about our ecosystem is, a part of entertaining and funny, one learnt a lot of things by listening to other point of views, and make your global vision better. The bad thing (if I can say something) is that I slept 4h that night :p


    The Saturday was the "Super Hacking Day", we where in front of the computer for around 18 hours only stopping for dinner. Each person on the sprint had lunch at a different time which shows how deep where were in our personal thought's.

    The first thing I decided to do that Saturday was finish my part of Bluetooth+NetworkManagement. If started to implement some plugins for BlueDevil, when doing it I noticed some interesting stuff from BlueZ, and discover how Network interface work. So, I explained to Will what I discovered and the issues I found, and he started to research how GNOME applet/wizard handle it. I don't remember when, but we ended up with a solution (Will did), so we hope that sooner than later we'll have Bluetooth+NetworkManagement interaction done.

    The next task I assigned to myself was a technical one (not directly user-related), add asynchronous API to libsolid. After discussin with Kevin his design, I used the next hours to learn how libsolid works, and to connect the current code with the Kevin explanation about the new design. Once I did that, I started to write some tests that will help me to design a good API and at the same time that this new API would be "unit tested" (basicaly I sued Test Driven Development). With the tsdgeos help, we got a PoC working, that helped us to decided which way we should take (use an internal QList instead of inherit it).

    An finally, I started to do some fine tune into BlueDevil Wizard, to get the pairing process more stable and perfect with a major number of devices (devices without PIN mainly). I tested the new code with: Apple* stuff I grabbed from the office, Nokia headset, HTC Magic and Wiimote.

    We finished the hacking session at 6am, and decided to come back at 10am, so basically I decided to do not sleep (wise decision).


    All the ends are sad, even if it is a good end. In the sprint cases, it is sad because the people leave in dribs and drabs, however we managed to get a profitable time to put a good end to the Sprint.

    One of the objectives of this sprint was exchange projects or topics, so instead of continue hacking on BlueDevil, I decided to take another project task, in this case PowerDevil UPower Backend. So, as Dario was sitting just left to me, I asked him to explain me how to create a PowerDevil2 backend, and after he explained to me, I started to copy some code from the Hal backend and make it compile. After it we just ordered some pizza's (Sponsored too, as the tradition says) and well, we bought too much :p

    After lunch I continued with my research, this time focused on UPower, basically I compared UPower vs Hal features (the ones we are using) and noticed some things that have to be done by using another piece of software, like xrandr.

    Finally we end up Sebas, Ereslibre, and I. In one of the trips to the fridge we noticed something... there were 6 Volldamn left to drink! We decided to add a sticky note (Green + Red which meant Community and Urgency), and add it to "In Progress" column. After a hard work and a lot of chatting, we moved the task to the "Done" column :)

    While packing and cleaning everything, we end up at 02:00 AM talking about random stuff again, sharing ideas about KDE future, Sebas showing to us Lionmail and Crystal etc...

    To end the post, I'd like to thank for:

    -KDE e.V for sponsoring the event.

    -Community: people and companies, who donate money to e.V, so they can sponsor the sprints.

    -Interdominios for helping us with the organisation (Specially to Benito, who handled all the catering and Hotel booking)

    -Solid team to be awesome.

    This is pretty much all, I hope this post help you (reader) to realize how important these sprints are for us, and by extension how important the donations are.

    Join the game!

    Solid Team

  • Solid Sprint day 1, go!

    So, almost everybody is here finally (Albert will come tomorrow Saturday), and it has been a very profitable day. We have finished the "boring" stuff like discussing who we are (We're the Solid team now! be aware of that :p), discussing how we can improve the upstream communication (driver developers, blueZ, u*disk/power etc) and stuff like that.

    After it, we've done some hacking (not a lot in my case), but we managed to get Bluetooth-DUN and Bluetooth-NAP working, and we did it in like 5minutes... is what Sprints are about, right? :) put Lamarque (modemmanager) and bluedevil developers together and you will get Bluetooth+Networking working :p

    Now, going to sleep since the hacking will be resumed in a few hours.


    Todo wall-list:

  • Solid Sprint day 0

    Surprisingly everything is ready for the Solid Sprint that is going to take place in Madrid, we got 1Gb connection, 50" flat screen, food, drinks, beer, coffee and of course a lot of code "hungry" :)

    Sebas is already here to attend some KDE e.V stuff together with ereslibre (vice-president of KDE-España), we have had a good dinner (typical spanish bar) and now is time to sleep so tomorrow we can be with our hacker skills at 100%.

    So, see you tomorrow!

    PS: I wrote this post yesterday (Thursday).

  • BlueDevil 1.0rc4 released

    After a lot of work, and a lot of testing done by a lot of people the RC4 is here and we hope it will be the last one before the final release.


    • Fix a crash in the file receiver
    • Fix a crash in the KDED
    • Cleaned audio UUID's (less false positives in the wizard)
    • Added Audio Sink support in the systray application (Patch by Peter Korf)
    • some i18n work (not perfect tough)
    • A lot of work in kio_obexftp, it should be stable now, test it!


    • Some times the systray application is not updated correctly
    • kio_obexftp is stable, but some times has weird behaviours (testers needed!)
    • kio_obexftp "rename" action is not working in some cases.
    • Do not use the RC4 tag, use RC4-1 instead.


    The tarball can be found here with md5: c967bce0edd20c2937db5071c7b735df

    And git tag: git clone git://gitorious.org/bluedevil/bluedevil.git; cd bluedevil; git checkout v1.0-rc4-1

    Help needed:

    Since we hope that this will be the last Release Candidate, we need a lot of test to get the final version rock solid, so please test test and test!

    Finally, a small video of what we can do with the kio's inside BlueDevil:

    Download file