<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2612510547516216128</id><updated>2011-09-11T07:49:30.682-03:00</updated><category term='moving'/><category term='brisa'/><category term='solid'/><category term='thesis'/><category term='gsoc'/><category term='beer'/><category term='travel'/><category term='hupnp'/><category term='development'/><category term='upnp'/><category term='libsolid'/><category term='h4ckb33r'/><category term='kde'/><category term='sprint'/><title type='text'>promulo</title><subtitle type='html'>KDE, GSoC progress, development stuff, etc.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://pauloromulo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://pauloromulo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Paulo Rômulo</name><uri>http://www.blogger.com/profile/06986489686012503663</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_FEhe1NzaXFs/S9jTYLEiZxI/AAAAAAAAAE0/ZKbLMvBGnpg/S220/avatar.jpeg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2612510547516216128.post-5058298203972337310</id><published>2010-12-15T02:15:00.004-03:00</published><updated>2010-12-15T10:59:42.881-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='brisa'/><category scheme='http://www.blogger.com/atom/ns#' term='hupnp'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='upnp'/><category scheme='http://www.blogger.com/atom/ns#' term='solid'/><title type='text'>I'm back. (Hopefully) For good.</title><content type='html'>&lt;div style="text-align: justify;"&gt;Hi, everyone. It's been a long, long time since I posted something. I'm sorry for that.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, a couple of things happened in recent times:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1) I've finally met my fellows of kde-br. We had such a good time at Natal (RN) in the III KDE Forum - Northeast Edition (within IV ENSL). My talk was about GSoC, KDE, how to get involved, etc. It was pretty cool. My intent for the next events is to talk about more technical stuff (e.g. an introductory Solid tutorial or something like that)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2) Google funded me (thanks, Carol!) to attend Google Developer Day at São Paulo, and it was awesome. There were excellent talks about Android, Google App Engine, Cloud Computing, etc. Unfortunately, it lasted only one day.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;3) I've got a partial-time job as a teacher (yes, who could tell?) in a city nearby (about 180km), called Patos. I'm lecturing two subjects: OO (with Java :p) and something like AI. It's being really nice, actually. Teaching is the better way to learn. :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, that's the good news. The bad news is that my masters work is kind of stuck and it will take a few more months beyond the expected. I'm really not happy with that, believe me. From January on I expect some real progresses on this matter.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Other bad news I have to tell is about my Solid backend (UPnP). Seems like KDE is crashing because of something related with UPnP (yes, guys, I saw the bug reports, just a little bit of patience ;) and I'll investigate this ASAP (my KDE trunk install is really messed up). Actually, I've decided to change the whole underlying layer of UPnP backend. Currently, it's using a library called HUPnP. I've decided to change this library and replace it for another Qt-based UPnP stack called BRisa. In a few days I'll post another blog entry explaining my reasons to do that. Sadly, this change only will be seen in the 4.7 release, since the 4.6 branch is frozen now and the monthly releases are for bugfixes only.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Back to the good news, I'm intending to get back to the KDE work this weekend and address the bugs reported (btw, thanks to the ones who did it). I will try to manage my time properly from now on, I swear. :p&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;See ya.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2612510547516216128-5058298203972337310?l=pauloromulo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauloromulo.blogspot.com/feeds/5058298203972337310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pauloromulo.blogspot.com/2010/12/im-back-hopefully-for-good.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/5058298203972337310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/5058298203972337310'/><link rel='alternate' type='text/html' href='http://pauloromulo.blogspot.com/2010/12/im-back-hopefully-for-good.html' title='I&apos;m back. (Hopefully) For good.'/><author><name>Paulo Rômulo</name><uri>http://www.blogger.com/profile/06986489686012503663</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_FEhe1NzaXFs/S9jTYLEiZxI/AAAAAAAAAE0/ZKbLMvBGnpg/S220/avatar.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2612510547516216128.post-6010841005623588937</id><published>2010-10-25T17:49:00.011-03:00</published><updated>2010-10-25T18:54:18.472-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='beer'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='h4ckb33r'/><title type='text'>H4ckb33r</title><content type='html'>&lt;div style="text-align: justify;"&gt;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 &lt;i&gt;H4ckb33r&lt;/i&gt;. Pretty obvious name, right? At least for code and beer lovers like us...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/_FEhe1NzaXFs/TMX2lqWzcLI/AAAAAAAAAGI/OmIxSQLv0wQ/s320/OgAAABILeRVm9gbB4_eEmpsz9pwjVoA9V-od5d9h8SYfeH_Z1WRXSXDcBAh23j5TKHTFixX7ICSfBVZk-ADlmrrJxzcAm1T1UHBE3fqEqhxkzVNs8QBpeQaOUV0b.jpg" style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 320px; height: 240px; " border="0" alt="" id="BLOGGER_PHOTO_ID_5532098844180050098" /&gt;&lt;div style="text-align: center;"&gt;The only KDE running at the place :-((&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/_FEhe1NzaXFs/TMX3MQg25HI/AAAAAAAAAGQ/N62VT_7D308/s320/20101023_005e.jpg" style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 320px; height: 240px; " border="0" alt="" id="BLOGGER_PHOTO_ID_5532099507257795698" /&gt;&lt;div style="text-align: center;"&gt;andredieb sleeping with his beloved N900&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;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.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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 ;-).&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_FEhe1NzaXFs/TMX4hK6XwdI/AAAAAAAAAGY/lYT4R_nP7GM/s1600/20101023_003.jpg"&gt;&lt;img style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 320px; height: 240px; " src="http://3.bp.blogspot.com/_FEhe1NzaXFs/TMX4hK6XwdI/AAAAAAAAAGY/lYT4R_nP7GM/s320/20101023_003.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5532100966043075026" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;daniloqueiroz, thiagoss, vitoravelino&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_FEhe1NzaXFs/TMX5TyNat0I/AAAAAAAAAGg/gX5alQx27_M/s1600/20101023_007.jpg"&gt;&lt;img style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 320px; height: 240px; " src="http://1.bp.blogspot.com/_FEhe1NzaXFs/TMX5TyNat0I/AAAAAAAAAGg/gX5alQx27_M/s320/20101023_007.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5532101835585402690" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;diofeher, me, vitoravelino&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;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.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Besides the rain and logistical problems, we had a great time. Hope to see more people (and more code) in the next editions. :-D&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;To the gran finale, check out all the soccer skills of participants:&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;object style="background-image:url(http://i3.ytimg.com/vi/Zbms89d2MYQ/hqdefault.jpg)" width="480" height="295"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Zbms89d2MYQ?fs=1&amp;amp;hl=en_US"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/Zbms89d2MYQ?fs=1&amp;amp;hl=en_US" width="480" height="295" allowscriptaccess="never" allowfullscreen="true" wmode="transparent" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Cheers.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;P.S.: Soon I'll be posting some news about Solid UPnP backend...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2612510547516216128-6010841005623588937?l=pauloromulo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauloromulo.blogspot.com/feeds/6010841005623588937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pauloromulo.blogspot.com/2010/10/h4ckb33r.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/6010841005623588937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/6010841005623588937'/><link rel='alternate' type='text/html' href='http://pauloromulo.blogspot.com/2010/10/h4ckb33r.html' title='H4ckb33r'/><author><name>Paulo Rômulo</name><uri>http://www.blogger.com/profile/06986489686012503663</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_FEhe1NzaXFs/S9jTYLEiZxI/AAAAAAAAAE0/ZKbLMvBGnpg/S220/avatar.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_FEhe1NzaXFs/TMX2lqWzcLI/AAAAAAAAAGI/OmIxSQLv0wQ/s72-c/OgAAABILeRVm9gbB4_eEmpsz9pwjVoA9V-od5d9h8SYfeH_Z1WRXSXDcBAh23j5TKHTFixX7ICSfBVZk-ADlmrrJxzcAm1T1UHBE3fqEqhxkzVNs8QBpeQaOUV0b.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2612510547516216128.post-2845793915779242851</id><published>2010-09-19T14:16:00.003-03:00</published><updated>2010-09-19T14:49:35.365-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='sprint'/><title type='text'>Farewell, Spain. Hello, São Paulo.</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;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 ;-).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Anyway, you can bet I'll have this god damned document soon, so &lt;a href="http://www.desktopsummit.org/"&gt;Desktop Summit&lt;/a&gt;, here I go (first I need a job or something, but there is time until August :-)!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;BUT, everything isn't lost yet. Last week I got an invitation to the &lt;a href="http://www.google.com/events/developerday/2010/sao-paulo/"&gt;Google Developer Day&lt;/a&gt;, 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?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Oh, and the Software Freedom Day here yesterday was really awesome! Congratulations to all involved! &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, that's all for now. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Hail.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2612510547516216128-2845793915779242851?l=pauloromulo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauloromulo.blogspot.com/feeds/2845793915779242851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pauloromulo.blogspot.com/2010/09/farewell-spain-hello-sao-paulo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/2845793915779242851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/2845793915779242851'/><link rel='alternate' type='text/html' href='http://pauloromulo.blogspot.com/2010/09/farewell-spain-hello-sao-paulo.html' title='Farewell, Spain. Hello, São Paulo.'/><author><name>Paulo Rômulo</name><uri>http://www.blogger.com/profile/06986489686012503663</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_FEhe1NzaXFs/S9jTYLEiZxI/AAAAAAAAAE0/ZKbLMvBGnpg/S220/avatar.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2612510547516216128.post-3826505788718419015</id><published>2010-09-15T00:28:00.002-03:00</published><updated>2010-09-15T00:36:54.897-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='libsolid'/><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='sprint'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><title type='text'>Solid Sprint at Madrid</title><content type='html'>Hey,&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;See ya.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2612510547516216128-3826505788718419015?l=pauloromulo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauloromulo.blogspot.com/feeds/3826505788718419015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pauloromulo.blogspot.com/2010/09/solid-sprint-at-madrid.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/3826505788718419015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/3826505788718419015'/><link rel='alternate' type='text/html' href='http://pauloromulo.blogspot.com/2010/09/solid-sprint-at-madrid.html' title='Solid Sprint at Madrid'/><author><name>Paulo Rômulo</name><uri>http://www.blogger.com/profile/06986489686012503663</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_FEhe1NzaXFs/S9jTYLEiZxI/AAAAAAAAAE0/ZKbLMvBGnpg/S220/avatar.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2612510547516216128.post-6312315067811732718</id><published>2010-09-08T17:18:00.004-03:00</published><updated>2010-09-08T17:34:51.492-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='libsolid'/><category scheme='http://www.blogger.com/atom/ns#' term='thesis'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='upnp'/><title type='text'>Pong</title><content type='html'>&lt;div style="text-align: justify;"&gt;Hey, all.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;If you're wondering about the Solid UPnP backend state after the end of GSoC, here I am to satisfy your anxiety. :-p&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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. :-)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;That's it for now.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Cheers.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2612510547516216128-6312315067811732718?l=pauloromulo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauloromulo.blogspot.com/feeds/6312315067811732718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pauloromulo.blogspot.com/2010/09/pong.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/6312315067811732718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/6312315067811732718'/><link rel='alternate' type='text/html' href='http://pauloromulo.blogspot.com/2010/09/pong.html' title='Pong'/><author><name>Paulo Rômulo</name><uri>http://www.blogger.com/profile/06986489686012503663</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_FEhe1NzaXFs/S9jTYLEiZxI/AAAAAAAAAE0/ZKbLMvBGnpg/S220/avatar.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2612510547516216128.post-4949578140675577716</id><published>2010-08-22T20:56:00.009-03:00</published><updated>2010-08-22T22:28:05.061-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='libsolid'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='upnp'/><title type='text'>emit remmus</title><content type='html'>&lt;div style="text-align: justify;"&gt;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.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;img src="http://1.bp.blogspot.com/_FEhe1NzaXFs/THHJbvi_N1I/AAAAAAAAAF4/P-Y9Sq00cYg/s400/dolphin.png" style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 400px; height: 312px; " border="0" alt="" id="BLOGGER_PHOTO_ID_5508405297707693906" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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):&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Solid::Device dev(deviceUdi);&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;    Solid::InternetGateway *igd = dev.as&lt;solid::internetgateway&gt;&lt;/solid::internetgateway&gt;&lt;/span&gt;&lt;solid::internetgateway&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;();&lt;/span&gt;&lt;/solid::internetgateway&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;    igd-&gt;addPortMapping("192.168.0.1", 80, "TCP", 80, "192.168.0.136");&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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. :-)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Cheers.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2612510547516216128-4949578140675577716?l=pauloromulo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauloromulo.blogspot.com/feeds/4949578140675577716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pauloromulo.blogspot.com/2010/08/emit-remmus.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/4949578140675577716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/4949578140675577716'/><link rel='alternate' type='text/html' href='http://pauloromulo.blogspot.com/2010/08/emit-remmus.html' title='emit remmus'/><author><name>Paulo Rômulo</name><uri>http://www.blogger.com/profile/06986489686012503663</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_FEhe1NzaXFs/S9jTYLEiZxI/AAAAAAAAAE0/ZKbLMvBGnpg/S220/avatar.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_FEhe1NzaXFs/THHJbvi_N1I/AAAAAAAAAF4/P-Y9Sq00cYg/s72-c/dolphin.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2612510547516216128.post-517810365645034606</id><published>2010-08-06T20:19:00.003-03:00</published><updated>2010-08-06T20:35:43.823-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='libsolid'/><category scheme='http://www.blogger.com/atom/ns#' term='moving'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='upnp'/><title type='text'>Moving out</title><content type='html'>&lt;div style="text-align: justify;"&gt;Hello, all. This will be a quick (and late) post.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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. :-(&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;See ya.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2612510547516216128-517810365645034606?l=pauloromulo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauloromulo.blogspot.com/feeds/517810365645034606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pauloromulo.blogspot.com/2010/08/moving-out.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/517810365645034606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/517810365645034606'/><link rel='alternate' type='text/html' href='http://pauloromulo.blogspot.com/2010/08/moving-out.html' title='Moving out'/><author><name>Paulo Rômulo</name><uri>http://www.blogger.com/profile/06986489686012503663</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_FEhe1NzaXFs/S9jTYLEiZxI/AAAAAAAAAE0/ZKbLMvBGnpg/S220/avatar.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2612510547516216128.post-6569479659281489547</id><published>2010-07-25T22:53:00.007-03:00</published><updated>2010-07-26T00:14:45.337-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='libsolid'/><category scheme='http://www.blogger.com/atom/ns#' term='hupnp'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='upnp'/><title type='text'>(GSoC) And god said: "Let there be an Internet Gateway"</title><content type='html'>&lt;div style="text-align: justify;"&gt;Hi, all.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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 &lt;b&gt;used to&lt;/b&gt; not recognize. :-)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/_FEhe1NzaXFs/TEz3_VheKbI/AAAAAAAAAFo/oVPr5xhAU6g/s400/controlpoint.png" style="text-align: justify;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 400px; height: 122px; " border="0" alt="" id="BLOGGER_PHOTO_ID_5498041912593885618" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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 -&gt; iface -&gt; 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.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Another thing Nikhil opened my eyes is about that I'm not running KDE trunk (I'm using that script development strategy from &lt;a href="http://techbase.kde.org/Getting_Started/Increased_Productivity_in_KDE4_with_Scripts"&gt;Techbase&lt;/a&gt;). 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. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;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 &lt;a href="http://brisa.garage.maemo.org/"&gt;BRisa&lt;/a&gt;. I have to run a little bit with the schedule.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;See ya.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2612510547516216128-6569479659281489547?l=pauloromulo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauloromulo.blogspot.com/feeds/6569479659281489547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pauloromulo.blogspot.com/2010/07/gsoc-and-god-said-let-there-be-internet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/6569479659281489547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/6569479659281489547'/><link rel='alternate' type='text/html' href='http://pauloromulo.blogspot.com/2010/07/gsoc-and-god-said-let-there-be-internet.html' title='(GSoC) And god said: &quot;Let there be an Internet Gateway&quot;'/><author><name>Paulo Rômulo</name><uri>http://www.blogger.com/profile/06986489686012503663</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_FEhe1NzaXFs/S9jTYLEiZxI/AAAAAAAAAE0/ZKbLMvBGnpg/S220/avatar.jpeg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_FEhe1NzaXFs/TEz3_VheKbI/AAAAAAAAAFo/oVPr5xhAU6g/s72-c/controlpoint.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2612510547516216128.post-7533990281425281833</id><published>2010-07-18T15:15:00.008-03:00</published><updated>2010-07-18T16:35:08.103-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='libsolid'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='upnp'/><title type='text'>No, I'm not dead ;-)</title><content type='html'>It's been a while, right? Sorry for that. I'll try to post here once per week from now on, I swear.&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, since my last post some things happened. Let's see... I've got a motorcycle. And I've got a motorcycle accident. My left arm is not so good but I will survive :-). I've began to write my master thesis, too. But I'm not here to talk about me, but about my GSoC project.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The midterm is gone now and Kevin granted me a "passed" status :-D. This is a motivation, indeed. About the work: I've implemented the media server (Solid::Backends::UPnP::UPnPMediaServer) and internet gateway (Solid::Backends::UPnP::InternetGateway) classes. The media server implements the Solid::DeviceInterface::StorageAccess interface, with the idea of treat UPnP media servers as remote folders or something like that. Actually, you can think in a media server as a remote pendrive, with some media there. The internet gateway (could be a router, an ADSL modem, etc.) implements an interface made by me to these kind of devices, so it can and will be improved with the time, since the actual API is pretty bounded with the UPnP forum specifications, and it is exactly what we can avoid in Solid (flexibility is the law).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I've made some unit tests with the media server and seems like the things are fine. Actually, Nikhil's work in Amarok will tell what we could improve on that part. Using the HUPnP library, the backend is able to detect UPnP devices available on the network, as you can see &lt;a href="http://img130.imageshack.us/img130/6758/upnptest.png"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The IGD tests are kind of stuck, because HUPnP has some problems in detecting UPnP internet gateway devices. I've been trying to test with two wireless routers, but without success so far. I'm in touch with Tuomo (library's author and maintainer) and in this afternoon we spent a good time debugging HUPnP and talking about heavy metal :-p. Looks like he figured out what is going on and will patch the library ASAP.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The next steps now is keep working in the IGD issue and in parallel work at the device notifier integration (at least with media servers). I'm having some difficulties in understanding the device notifier code, but nothing that we can't ask, right? :-)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, that's it for now. Next Sunday I'm back here. With a good arm. I guess...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Cheers.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2612510547516216128-7533990281425281833?l=pauloromulo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauloromulo.blogspot.com/feeds/7533990281425281833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pauloromulo.blogspot.com/2010/07/no-im-not-dead.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/7533990281425281833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/7533990281425281833'/><link rel='alternate' type='text/html' href='http://pauloromulo.blogspot.com/2010/07/no-im-not-dead.html' title='No, I&apos;m not dead ;-)'/><author><name>Paulo Rômulo</name><uri>http://www.blogger.com/profile/06986489686012503663</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_FEhe1NzaXFs/S9jTYLEiZxI/AAAAAAAAAE0/ZKbLMvBGnpg/S220/avatar.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2612510547516216128.post-7280894033560750739</id><published>2010-05-31T14:14:00.005-03:00</published><updated>2010-06-01T19:16:03.915-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='libsolid'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='upnp'/><title type='text'>GSoC Code Week #1: Prologue</title><content type='html'>&lt;div style="text-align: justify;"&gt;Hello, KDE planet! :-) &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;I'm a little bit late with this post, but finally here I am. And for those who are not aware of my project, just read &lt;a href="http://pauloromulo.blogspot.com/2010/05/me-myself-and-my-gsoc-project.html"&gt;this post&lt;/a&gt;. ;-)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;Well, last week was my first coding week on this GSoC and as a pretty newbie KDE developer I had some problems with some noob stuff like cmake, dependencies and these kind of things, but I think that I'm close to solve it all. As I said to Kevin (my mentor), I'm a Java programmer who knows some C++/Qt, but I can say that I'm having some progresses at all.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Right now I have a general class which represents an ordinary UPnP device, that I called Solid::Backends::UPnPDevice (pretty obvious, right?). I've implemented a control point too, through the Solid::Backends::UPnPDeviceManager class. My intent is to get able to list the available devices ASAP. I'm with some linking problems (here are the newbie problems again) with HUPnP, but Nikhil Marathe (who has a related GSoC project with the Amarok people) gently offered himself to help, and very soon I'll be in touch with him. :-)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Since the main library used by my project (&lt;a href="http://www.herqq.org/"&gt;HUPnP&lt;/a&gt;) is under some license incompatibility (it uses GPLv3) with the rest of libsolid (LGPLv2), I've not committed anything yet, but soon I'll do it and disable the backend of the builds and distribution, to avoid any license crime. Tuomo Penttinen, the HUPnP creator and maintainer is aware of it and is planning to change the license in a near future.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, that's it for now. As soon as I can list the available UPnP devices I could post some screenshots here, right? People really like screenshots :-).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Regards.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2612510547516216128-7280894033560750739?l=pauloromulo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauloromulo.blogspot.com/feeds/7280894033560750739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pauloromulo.blogspot.com/2010/05/gsoc-code-week-1-prologue.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/7280894033560750739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/7280894033560750739'/><link rel='alternate' type='text/html' href='http://pauloromulo.blogspot.com/2010/05/gsoc-code-week-1-prologue.html' title='GSoC Code Week #1: Prologue'/><author><name>Paulo Rômulo</name><uri>http://www.blogger.com/profile/06986489686012503663</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_FEhe1NzaXFs/S9jTYLEiZxI/AAAAAAAAAE0/ZKbLMvBGnpg/S220/avatar.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2612510547516216128.post-8309742425961528394</id><published>2010-05-18T14:07:00.000-03:00</published><updated>2010-05-18T14:58:57.227-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='libsolid'/><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><title type='text'>GSoC: Discovering Solids</title><content type='html'>&lt;div style="text-align: justify;"&gt;Hello, all. It's been a while since my last post, but here I am to update you about my progress with my Google Summer of Code project (explained &lt;a href="http://pauloromulo.blogspot.com/2010/05/me-myself-and-my-gsoc-project.html"&gt;here&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Well, this community bonding period aims to get students aware of technologies involved on the projects, documentation and, of course, the code. Since I'm pretty new with Solid, Kevin told me that a Techbase page explaining the libsolid architecture would be a good exercise of my current understanding about the project. So, the document is ready and the Techbase page will be up as soon as I discover how to create one. :-D&lt;br /&gt;&lt;br /&gt;Besides that I've decided to put it here too, for the posterity and, of course, for any feedback you can give me. Any comments would be really appreciated. It's really simple and small, as you can see right below.&lt;br /&gt;&lt;br /&gt;Cheers.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;-- &lt;/div&gt;&lt;h2 style="text-align: justify;" class="western"&gt;Solid (kdelibs/solid)&lt;/h2&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="margin-bottom: 0in; font-style: normal; font-weight: normal; line-height: 0.23in; widows: 2; orphans: 2; text-align: justify;"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-family:Arial, sans-serif;"&gt; The KDE 4 provides seamless hardware integration through Solid framework. Using its API, developers become able to easily write applications with hardware interaction features, through a hardware discovery layer which allows the detection and use of devices regardless of operating system or architecture.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="margin-bottom: 0in; font-style: normal; font-weight: normal; line-height: 0.23in; widows: 2; orphans: 2; text-align: justify;"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-family:Arial, sans-serif;"&gt; Solid was implemented using a frontend/backend approach aiming portability among platforms like Linux and Windows. The frontend provides the high-level API for developers using Solid and backends deal with the specific hardware issues for the different platforms.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;h2 style="text-align: justify;" class="western"&gt;Frontend View&lt;/h2&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="margin-bottom: 0in; font-style: normal; font-weight: normal; line-height: 0.23in; widows: 2; orphans: 2; text-align: justify;"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-family:Arial, sans-serif;"&gt; The frontend classes provide the API for developers and are also wrappers for several kinds of devices. All frontend clases are available in &lt;span style="font-family:Courier 10 Pitch;"&gt;kdelibs/solid/solid&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;ul style="font-family: courier new; text-align: justify;"&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 22px;"&gt;&lt;span class="Apple-style-span"  style="font-family:Georgia,serif;"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Courier 10 Pitch;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;Solid::DeviceNotifier&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 22px;"&gt;The device notifier &lt;span class="Apple-style-span"  style="font-family:Georgia,serif;"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Arial, sans-serif;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;is a singleton used to obtain information about the hardware available on the system. It provides to applications the unique entry point for hardware discovery and/or notifications about changes (with the use of S&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Courier 10 Pitch;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;olid::DeviceNotifier::deviceAdded&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Arial, sans-serif;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt; and &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Courier 10 Pitch;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;Solid::DeviceNotifier::deviceRemoved&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Arial, sans-serif;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt; signals). This class calls the following &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Courier 10 Pitch;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;Solid::DeviceManager&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Arial, sans-serif;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;  &lt;/div&gt;&lt;ul style="text-align: justify;"&gt;  &lt;li&gt;&lt;p style="margin-bottom: 0in; font-style: normal; font-weight: normal; line-height: 0.23in; widows: 2; orphans: 2;"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-family:Courier 10 Pitch;"&gt;Solid::DeviceManager&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="margin-bottom: 0in; line-height: 0.23in; widows: 2; orphans: 2; text-align: justify;"&gt; &lt;span style="font-family:Arial, sans-serif;"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt; This (private) class maintains the state of all devices currently available on the system. Through it is possible to get, for example, the list of all devices or a list of device matching with some criteria (using &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Courier 10 Pitch;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;Solid::Predicate&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;ul style="text-align: justify;"&gt;  &lt;li&gt;&lt;p style="margin-bottom: 0in; font-style: normal; font-weight: normal; line-height: 0.23in; widows: 2; orphans: 2;"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-family:Courier 10 Pitch;"&gt;Solid::Device&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="margin-bottom: 0in; font-style: normal; font-weight: normal; line-height: 0.23in; widows: 2; orphans: 2; text-align: justify;"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-family:Arial, sans-serif;"&gt; This class represents a general hardware device. A device contains one or more device interfaces (capabilities).&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;ul style="text-align: justify;"&gt;  &lt;li&gt;&lt;p style="margin-bottom: 0in; font-style: normal; font-weight: normal; line-height: 0.23in; widows: 2; orphans: 2;"&gt;  &lt;span style="color:#000000;"&gt;&lt;span style="font-family:Courier 10 Pitch;"&gt;Solid::DeviceInterface&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="margin-bottom: 0in; font-style: normal; font-weight: normal; line-height: 0.23in; widows: 2; orphans: 2; text-align: justify;"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-family:Arial, sans-serif;"&gt; A device interface represents a certain feature that a device contains. This class is on the top of the device interfaces inheritance tree. All specialized device interfaces implement it.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;ul style="text-align: justify;"&gt;  &lt;li&gt;&lt;p style="margin-bottom: 0in; line-height: 0.23in; widows: 2; orphans: 2;"&gt;  &lt;span style="font-family:Arial, sans-serif;"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;Specialized  classes (&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Courier 10 Pitch;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;Solid::Processor&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;,  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Courier 10 Pitch;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;Solid::OpticalDrive&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;,  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Courier 10 Pitch;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;Solid::Battery&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;,  etc.)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="margin-bottom: 0in; line-height: 0.23in; widows: 2; orphans: 2; text-align: justify;"&gt; &lt;span style="font-family:Arial, sans-serif;"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt; These classes actually represent the capabilities that a device can have. All classes extend &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Courier 10 Pitch;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;Solid::DeviceInterface&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:arial, sans-serif;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;h2 style="text-align: justify;" class="western"&gt;Backend View&lt;/h2&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="margin-bottom: 0in; line-height: 0.23in; widows: 2; orphans: 2; text-align: justify;"&gt; &lt;span style="font-family:Arial, sans-serif;"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt; A Solid backend deal with the platform-specific ways of handle devices. Developers using libsolid do not use the backend classes directly. Applications do it through frontend/wrapping classes in the &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Courier 10 Pitch;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;Solid&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt; namespace.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="margin-bottom: 0in; line-height: 0.23in; widows: 2; orphans: 2; text-align: justify;"&gt; &lt;span style="font-family:Arial, sans-serif;"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt; All backends have to implement the interfaces in &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Courier 10 Pitch;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;kdelibs/solid/solid/ifaces&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt; (namespace &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Courier 10 Pitch;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;Solid::Ifaces&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-style: normal;"&gt;&lt;span style="font-weight: normal;"&gt;) correspondent to its devices. These interfaces are the basics of which API a given device has to provide to the frontend classes.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;h2 style="text-align: justify;" class="western"&gt;UML Diagram&lt;/h2&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="margin-bottom: 0in; font-style: normal; font-weight: normal; line-height: 0.23in; widows: 2; orphans: 2; text-align: justify;"&gt; &lt;span style="color:#000000;"&gt;&lt;span style="font-family:Arial, sans-serif;"&gt; &lt;a href="http://img52.imageshack.us/img52/8558/classdiagram.png"&gt;This diagram&lt;/a&gt; shows the relationships between the Solid frontend classes and the platform-specific backend classes (Foo backend example).&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2612510547516216128-8309742425961528394?l=pauloromulo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauloromulo.blogspot.com/feeds/8309742425961528394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pauloromulo.blogspot.com/2010/05/gsoc-discovering-solids.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/8309742425961528394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/8309742425961528394'/><link rel='alternate' type='text/html' href='http://pauloromulo.blogspot.com/2010/05/gsoc-discovering-solids.html' title='GSoC: Discovering Solids'/><author><name>Paulo Rômulo</name><uri>http://www.blogger.com/profile/06986489686012503663</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_FEhe1NzaXFs/S9jTYLEiZxI/AAAAAAAAAE0/ZKbLMvBGnpg/S220/avatar.jpeg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2612510547516216128.post-4088385715701142760</id><published>2010-05-01T13:48:00.000-03:00</published><updated>2010-05-01T15:23:30.703-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><title type='text'>Me, myself and my GSoC project</title><content type='html'>&lt;div style="text-align: justify;"&gt;Hello, all.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I've finally aggregated my blog on the planet, and in this first post I'll talk a little about myself and my GSoC project for KDE. :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, my name is Paulo, I'm brazilian and recently got my bachelor's degree on Computer Science. Now I'm a masters student at Federal University of Campina Grande, here in Brazil. I'm part of the &lt;a href="http://embedded.ufcg.edu.br/indexen.html"&gt;Embedded Lab&lt;/a&gt;, where for years is made a lot of researching about pervasive computing and embedded systems, with publications all around and partnerships with big companies like the &lt;a href="http://www.indt.org.br/en.html"&gt;Nokia Institute of Technology (INdT)&lt;/a&gt; and &lt;a href="http://www.petrobras.com.br/en/"&gt;Petrobras&lt;/a&gt;. In a later post I can talk about my current work on the masters course.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I begun to use Linux at the university, which gets the students involved with FOSS since the beginning of the Computer Science course. After my first glance on KDE (about 4 years ago or more) I've became an user and fan. Unfortunately I've woken up late for contribute to KDE, but before later than ever, right? ;)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So, back in 2009 I begun to study about the &lt;a href="http://en.wikipedia.org/wiki/Universal_Plug_and_Play"&gt;UPnP standard&lt;/a&gt;, since the Lab where I work has a quite active branch of research about UPnP (including the development of a framework widely used at Maemo community, called &lt;a href="http://brisa.garage.maemo.org/"&gt;BRisa&lt;/a&gt;). Hence, in the last edition of GSoC I've applied for KDE, in a project proposed by Bart Cerneels which aimed to give UPnP support on Amarok. For my sadness at the time, the project was not accepted, but here I am now (yay!) and my project is quite related to that one: this year my intent is to work on the Solid backend (and frontend as well) for UPnP, and through it many KDE applications will have a transparent access to UPnP resources available on the network (MediaServers, MediaRenderers, InternetGateways, etc.). My mentor for the project is Kevin Ottens, from the Solid team (who is a very cool guy, by the way :).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The project will consist of two phases. In the first one the goal is to get the Solid backend working and stable, as well the wrapping side (frontend). For this first phase, the work of Friedrich Kossebau on the KUPnP backend will be taken as basis, and the tendency is that the UPnP library used will be the HUPnP stack, developed by Tuomo Penttinen. I'm not sure if the use of Cagibi, another UPnP framework developed by Friedrich, is intended too.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The second phase will consist of some integrations with the KDE SC, with the development of a plasmoid which will show some informations about neighbor UPnP devices and the improvement of Plasma device notifier to detect and show these devices, too. After that, a data-gathering application for debug purposes will be made, aiming to get all the information about the local UPnP environment and let developers aware of error situations that can happen with the integration. For this application, the Python version of BRisa framework will probably be used.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;All of what I've said before is on my proposal (with the timeline for all activities), which can be seen &lt;a href="http://docs.google.com/View?id=d785g6k_11gpccrpdx"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;In this first week of community bonding period I've got my SVN account and now I'm setting up my development environment. I'm not sure about the necessary KDE modules, but I've checked out kdelibs, kdebase, kdenetwork and kdesupport. Any hints in that matter are welcome. By the way, I'm waiting for the first release of KDevelop4. ;)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, this is enough for now. I hope we can all enjoy this time working together and for now on I want to be more and more an active part of this crew.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Cheers.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2612510547516216128-4088385715701142760?l=pauloromulo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauloromulo.blogspot.com/feeds/4088385715701142760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pauloromulo.blogspot.com/2010/05/me-myself-and-my-gsoc-project.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/4088385715701142760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/4088385715701142760'/><link rel='alternate' type='text/html' href='http://pauloromulo.blogspot.com/2010/05/me-myself-and-my-gsoc-project.html' title='Me, myself and my GSoC project'/><author><name>Paulo Rômulo</name><uri>http://www.blogger.com/profile/06986489686012503663</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_FEhe1NzaXFs/S9jTYLEiZxI/AAAAAAAAAE0/ZKbLMvBGnpg/S220/avatar.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2612510547516216128.post-231595791324339989</id><published>2010-04-28T21:10:00.000-03:00</published><updated>2010-05-01T21:44:52.839-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gsoc'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><title type='text'>GSoC 2010: I'm IN!! F**k Yeahh!!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Well, I'm not a huge fan of having a blog (Twitter for me is more than enough), but this one have a big purpose: advertise the KDE community about the progress of my Google Summer of Code project. Yeah, I've got selected this year after the frustration of 2009. You can applaud me now :D&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Later I'll talk more about what is my project and how is going this community bonding period, that will last until the May 24th.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;And let the games begin.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2612510547516216128-231595791324339989?l=pauloromulo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pauloromulo.blogspot.com/feeds/231595791324339989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://pauloromulo.blogspot.com/2010/04/gsoc-2010-im-in-fuck-yeahh.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/231595791324339989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2612510547516216128/posts/default/231595791324339989'/><link rel='alternate' type='text/html' href='http://pauloromulo.blogspot.com/2010/04/gsoc-2010-im-in-fuck-yeahh.html' title='GSoC 2010: I&apos;m IN!! F**k Yeahh!!'/><author><name>Paulo Rômulo</name><uri>http://www.blogger.com/profile/06986489686012503663</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_FEhe1NzaXFs/S9jTYLEiZxI/AAAAAAAAAE0/ZKbLMvBGnpg/S220/avatar.jpeg'/></author><thr:total>3</thr:total></entry></feed>
