Monday, October 25, 2010

H4ckb33r

Hey, it's been a while... This post isn't actually related with KDE, but I found interesting to share the experience of the first sprint-like event that me and some FOSS-enthusiast fellows organized. We called it the H4ckb33r. Pretty obvious name, right? At least for code and beer lovers like us...

The only KDE running at the place :-((

andredieb sleeping with his beloved N900

Unfortunately, we wasted some time trying to share a 3G internet connection. Besides, the rain in João Pessoa didn't help so much to make the work start right on time. We had all things set up by 1 p.m. It's a bit late for a one day-only event.

Well, the main goal was to get started with Git development and develop something using it. To warm up, we improved our IRC bot, making it plugin-oriented and adding some dumb funcionalities. After that, we had lunch (chicken FTW) and some basketball (yeah, geeks can do sports, too ;-).

daniloqueiroz, thiagoss, vitoravelino

diofeher, me, vitoravelino

So, once the repository was ready we needed something to develop (we really should thought about this earlier) and after a loooong time discussing was decided we could have a web-based tool to help organizing the next h4ckb33r's. This tool would keep a ranking of candidate projects to work into, a "who bring what" system, etc. Due time, we couldn't get out of there with a working version, sadly. I believe soon we will have it running over Google App Engine.

Besides the rain and logistical problems, we had a great time. Hope to see more people (and more code) in the next editions. :-D

To the gran finale, check out all the soccer skills of participants:


I'd like to thank daniloqueiroz for hosting all these geeks at his home and also all participants. Looking forward to the next H4ckb33r! You can see us at #ufcg @ Freenode.

Cheers.

P.S.: Soon I'll be posting some news about Solid UPnP backend...

Sunday, September 19, 2010

Farewell, Spain. Hello, São Paulo.

Sad, sad. My passport won't be ready until the Solid Sprint date, so I'm not coming anymore :-(. Now my plan is to participate remotely somehow (afiestas said they will try to stream the sprint, let's hope so). I know it's not the same, but I can buy some beer and do some hacking from here, I guess ;-).

Anyway, you can bet I'll have this god damned document soon, so Desktop Summit, here I go (first I need a job or something, but there is time until August :-)!

BUT, everything isn't lost yet. Last week I got an invitation to the Google Developer Day, at São Paulo. I got some help to the flight tickets, too (sometimes I wish Brazil couldn't be such a big country!). Quite good for a consolation prize, right?

So, this week we'll have the the workshop of masters and PHDs thesis at my university. I believe next weekend I get back to the work on the UPnP backend, finally.

Oh, and the Software Freedom Day here yesterday was really awesome! Congratulations to all involved!

Well, that's all for now.

Hail.

Wednesday, September 15, 2010

Solid Sprint at Madrid

Hey,

Seems like all the budget submitted to KDE e.V. for the Solid Sprint was approved (yay!). Looking forward to meet some of the metalworkers in person, but there is the possibility of I'm not attend because I've never traveled outside Brazil and guess what? I don't have passport (damn it!). I've asked at the local federal police office to emit it, but these things often take a while here, and I'm afraid that it will not be ready until the likely day for me to travel, September 29th. Let's pray. I'll try to push the guys to hurry up.

See ya.

Wednesday, September 8, 2010

Pong

Hey, all.

If you're wondering about the Solid UPnP backend state after the end of GSoC, here I am to satisfy your anxiety. :-p

Well, there is not so much to update, sadly. I've fixed some bugs on IGD and updated the code to be compliant with the most recent version of HUPnP (thanks, Nikhil).

The reason for the little flow of work has name, but no title: masters thesis. I have a workshop coming and really have to rush with this stuff. But I'll do my best to keep all the things running fine in parallel. :-)

That's it for now.

Cheers.

Sunday, August 22, 2010

emit remmus

This was a really cool summer. Actually, a really cool winter, since I live in the southern hemisphere (Brazil, for those whom don't know already). I believe that the most cool thing on this GSoC for me was finally get involved in the community, know the people behind and contribute with the KDE project after about 5 years using it. I'm really glad to see lines of code written by me in the tree and looking forward to do more cool stuff from now on.

As a not so much experienced Qt/KDE developer, I had some problems on the way. However, I think I can say that the basis for a consistent UPnP support on KDE is ready. Obviously, there is more things to do and refine, and I'm happy with that, because it means that I'll keep working with Kevin and the others 'metalworkers' :-D.

Today we have a nearly full media server support on Solid and the KIO slave developed by Nikhil with the Amarok people will help to get UPnP media servers available for browsing on Dolphin, for instance. As you can see, they are already appearing in the kfileplaces KPart (and in the device notifier as well). This is the actual user-visible part:

We have some IGD support, too. Given an UPnP router available, it's possible to add/remove port redirects (and other vendor-optional operations, like toggle the internet access in the router):

Solid::Device dev(deviceUdi);
Solid::InternetGateway *igd = dev.as();
igd->addPortMapping("192.168.0.1", 80, "TCP", 80, "192.168.0.136");

The API needs a little bit of refinements, but I think we are on the right way. My plan is to add more operations in the API soon and integrate the IGDs within the network manager.

So, what about the plans for the future? Well, along with the IGD integration, a debug app using BRisa framework and a plasmoid showing the UPnP neighborhood are intended, too. In the future, my desire is to implement other UPnP devices, like printers and media renderers. The HUPnP library (used in the project) need some adjustments, too. So, work is not lacking here :-). I'll keep you posted about how things are going here in the blog.

Finally, I want to thank Kevin Ottens, my mentor, for the support and patience in the past 3 months. I'd like to thank Bart Cerneels, Nikhil Marathe and Tuomo Penttinen, too, for the help, feedback, and hints. Honorable mention to Lydia Pintscher and Leo Franchi, the SoC managers. Thank you all, guys, you rock!

Oh, almost forgot. There will be the Solid sprint soon, in Madrid. Don't know if I will can attend in person, but I'll participate somehow. Looking forward to meet the Solid people personally and put some faces in the (nick)names. :-)

Cheers.

Friday, August 6, 2010

Moving out

Hello, all. This will be a quick (and late) post.

Oh, hell, I'm moving out the apartment. And it sucks. Really sucks. This week I've been pretty busy taking care of the process and stuff. My masters advisor also had an epiphany and asked me the first two chapters of the thesis. The work didn't flow much well this week. :-(

On Sunday I intend to keep you up about the integration of the Solid UPnP backend with Dolphin and Plasma Device Notifier. The pencils down date is approaching... May god (or anything similar) have mercy on my soul. :-p

See ya.

Sunday, July 25, 2010

(GSoC) And god said: "Let there be an Internet Gateway"

Hi, all.

Last week I said to you that HUPnP did not recognize UPnP internet gateway devices in the network. Now I think I can say it used to not recognize. :-)

Seems like Tuomo's patch fixed the problem and now the Solid UPnP backend is able to "see" my wireless router and finally invoke the UPnP actions available on it (like to do some port redirect and toggle the internet access, for instance). I have made some tests and seems like the action invocations are working well from the HControlPoint instance in the UPnPDeviceManager. Now it's time to refine the API and add more operations, probably.

However, "the world is cruel". This week Nikhil and Bart pointed to me and Kevin some problems with the media server stuff. Besides some mistakes on the HUPnP use from my part, seems like there is something wrong with the creation of the UPnPDeviceManager. According to him, due to the use of a QThreadStorage on the backends manager, a new HControlPoint is created for every thread using Solid, causing some inconsistent results. The expected behavior is only one control point across Solid stack (frontend -> iface -> backend). I'm working on the backend part, but the Solid thread-affinity stuff I prefer to let the more experts metalworkers to decide what's better.

Another thing Nikhil opened my eyes is about that I'm not running KDE trunk (I'm using that script development strategy from Techbase). I know, it's a blasphemy and I will build and use the SVN trunk ASAP. My unit tests are not enough and I need to do real system tests.

Well, I really hope this week to get the backend working fine to go into the little desktop integrations and the debugging app using an UPnP framework developed by some fellows here in the lab, called BRisa. I have to run a little bit with the schedule.

See ya.