KDE Release Party @Berlin, now With Food™

Jos and I are finishing our new house and we would like to invite you to a KDE 4.8 Release + Housewarming Party incl Food™ in our brand new place in Berlin :D

Date: Next Saturday, day 28 of January.
Time: Start at 17h.
Where: Eldenaer Straße 28A, an easy walk away from S/U-bahn station Frankfurther Alee:

And for those who prefer it a Google maps link.

Who can come: anyone who can claim a passing relationship to either KDE, openSUSE, Jos or me is more than welcome. Having read this blog counts…
What to bring: We’d appreciate it if you bring a happy disposition as well as as well as something to drink and possibly snack.
What will happen:

  • First, we’ll welcome-hug you. Sorry, but there’s no way around it.
  • Second, you’ll get fed. Jos will unleash his cooking mania in the kitchen. Be aware: some of you will be put to work, either cooking or cleaning. The food will be vegan. Probably curry-like but no promises.
  • The plan is to then all indulge ourselves on a variety of liquids – depends on what you bring, but we’ll have some real Brazilian caipirinha too. If you don’t want to carry anything, there’s a Lidl on the other side of the street and a 24h shop downstairs ;-)

What to do to be there: comment below and/or sign up on the release party page. And put it in your agenda…


15 years of KDE


I know I’ve been away, for personal reasons, but KDE’s always there, on my machine.
It was through this community that I met great friends, here e and around the world…e the love of my life.

That’s where I learned to hug who I had never seen before, it was where I learned to speak English, was where I learned to program and that’s where I found many elegant, beautiful and sincere people.

Congratulations KDE!!  Thanks for everything!


15 anos de KDE

Desktop Summit recap and GSoC update

Home is where the heart is After one week being at “home” (Brazil for a while) and getting back to the normal activities (college, clean up my place, cooking for myself..), now it is time to write something about the Desktop Summit and about the last weeks of GSoC.

Desktop Summit

It was awesome because:


  • It was really nice to see new brazilian people (good friends!) attending and doing good work for KDE. You can see pictures here.
  • Really good keynotes, like the Stuart Jarvis’s about “Why are we here? (Community Keynote)“. The graphics and the quotes in the slides were very intersting (they’ll be put on the website soon).
  • I got a Tablet in the “Intel AppUp Application Lab for Meego“! Good workshop and good Tablet =)
  • I attended in the BoF of KDE-Promo were Stuart Jarvis, Carl Symons, Frank Karlitschek , Thomas Thym and others discussed about the KDE birthday (october!) , about the KDE People from Latin America that should try to publish more news from these countries in the dot.kde.org (that’s important!) and that we need more documentation about how to get more companies “involved” with KDE. (you can follow the KDE Promo e-mail list to know more)
  • I attended in the Kolab: The Groupware for the Free Desktop BoF, where I figured out that I need to study about KDE PIM ;-)
  • I also figured out that Mai Tai is really dangerous – don’t drink more than two or you will
    try to hug and say how much you love people you never saw before!
  • I met Jonathan Riddellin person, my GSoC Mentor.

The only bad thing about Desktop Summit 2011:

  • The potatoes were awesome, but the most of the dishes were with pork! I don’t feel like eating pork meat for the rest for the year…


The difficulties:

  • The lack of knowledge in C++/Qt. I didn’t have a lot of experience with C++/Qt when I started which made me lose some time with stupid errors, but I believe I wasn’t the only one with this problem in GSoC.
  • In the beginning I was afraid about the changes that I should do in Umbrello, how to do it properly, the best way to do it.
  • I took some time to communicate properly with my mentor. I shouldn’t feel so insecure about it.
  • I didn’t enjoy too much to work from home.
  • Concluding: my difficulties weren’t so much about the code, but more personal difficulties. I think I wrote a ambitious project which would wait more dedication from me and I didn’t give all the needed dedication. So I didn’t conclude the project in time.

What I did to overcome it:

  • Looking for help! Mainly from KDE people that I already knew in person.
  • With this help, I had good ideas about how to proceed properly with the port:  keep the old canvas working with the new canvas to keep comparing the code, using preprocessor directives in the old code and developing the new Umbrello in a different folder in the same project.
  • After the midterm evaluation I started to skype with my mentor.

The project for now:

The future:

  • These months in the GSoC gave me a good knowledge base to keep working in the Umbrello Port as my conclusion work for college.
  • We had a suggestion  how to change the documentation support works in Umbrello: http://people.canonical.com/~jriddell/tmp/umbrelloDoc.pdf
  • And soonish we will have the Qt 5, so we will have another port project for Umbrello (but as I was adviced, I should keep with the work to port for QT 4 because the differences to Qt 5 won’t be so big)
  • And there is others suggestions about how to make the Umbrello interface better and with more usability.
    (you can follow it in the uml devel mail list)
  • Migrate Umbrello to git.
  • Write tests using QtestLib.

[GSoC] Umbrello: Merging soc branch and trunk.


After my last talk with my mentor, we decided that would be better to merge what I’ve doing until now in the trunk instead of to wait until the end of the project – that would be so much more work (even now, have been hard to get the new merged branch compiling and working). So for this, I made a branch from the trunk wich I am merging with the soc-umbrello-2011 branch.

The merge result (untill now) you can check here: http://websvn.kde.org/branches/work/umbrello-qgv-port/.

The idea is: if any change will be  done in the trunk, need to be done in the new branch as well.

Bye. Cya at Desktop Summit =)



Umbrello – some results [GSoC]

Hi Folk!

Here I am, after a while discovering that to work from home is not to everyone, that below your pillow you can find a engagement ring ( = and wondering why QMenu::popup needs receives like parameter type a QPoint instead of QPointF (Is it only in my silly mind that QPointF would make more sense? Am I forgetting something about Qt? Considering that QGraphicsView works with real coordinates).

I am working now in the widgets, so for now, you can see the BoxWidget and the ListPopUpMenu in the “new canvas”, bellow to the “old canvas”.

The video is not so good…so please, check out the repository: http://websvn.kde.org/branches/work/soc-umbrello-2011/

After the evaluation time, my mentor, Jonathan Riddell, and I decided to use skype to improve our interaction :-) and my work.

And with this, my list-to-do just increases:

– make popup menu work
– implement drawing other types of widgets on class diagrams: boxwidget, class, interface..
– mouse press event
– drag and drop events

cya …

Desktop Summit

Umbrello in GSoC – just a quick update

What did I do?

I was working on the view (UMLView) and in the scene (UMLScene) and I tried to separate the methods between two classes, one only to handle the events in the scene (UMLScene) and another to handle the diagrams (Diagram). That’s what you can see in the repository now:

And untill now I am trying to reuse the code from the first try to port Umbrello.

What am I doing now?

To test the “new view” and the “new scene” I need the widgets. So I am working on the UMLWidget and the WidgetBase.

The next weeks:

I need to catch up my tentative timeline in the next two weeks. So I can finish the port, to work in new things for Umbrello ( work on better stereotypes supports and complete Undo/Redo support) and then start to write tests.

Umbrello in GSoC

My first week of work according to plan:

25 April – 08 May

* Community Bonding Period. (I talked a bit with some class mates of GSoC)
* Review Plan with Mentor. (I talked to Jonathan)
* Get instructions for the work and get started!

… and get used to work from home :)

Porting Umbrello:

I discovered that the best way to work would be to keep the old classes with the newly written ones together. Including calls for new methods in the same project so I can test the functionality of the new methods. Always comparing the new ones with the old ones.

The current result is Umbrello working with a new window showing the “new canvas”:

In this “view” with QGraphicsView I can test my new classes.

Using Squish to write tests:

To try to make the best decision regarding how to proceed to the port, which parts of code reuse, I did a few class diagrams (just a draft), with the main classes that I should work with, I thought it would be interesting to draw the diagram in Umbrello, and save some steps using Squish

I’m using the Squish Community Edition – froglogic Squish IDE 4.1.0-SNAPSHOT – available only to test KDE software – you can ask one by e-mail: squishkde@froglogic.com. The advantage was to get some practice with the Software (I also discovered and reported some bugs :/)

It is very easy to write tests with Squish, you can automate the tests or write scripts by hand. What is tiring is that when you record the tests, the system stores a table with the objects of your application. But if the the object is not in this table, the test stops and you must include the object or editing the table by hand, or run the application in Spy mode or simply write “test dummies”.

Read more here: http://doc.froglogic.com/squish/latest/all/

Some interesting links:

QObject x QGraphicsObject:
. http://stackoverflow.com/questions/4922801/adding-signals-slots-qobject-to-qgraphicsitem-performance-hit
. http://stackoverflow.com/questions/2292072/penalty-of-using-qgraphicsobject-vs-qgraphicsitem

Qt GraphicsView in depth:
. http://qt.nokia.com/developer/learning/online/talks/developerdays2010/tech-talks/qt-graphics-view-in-depth

. http://doc.qt.nokia.com/4.7/qtestlib-manual.html#qtestlib
. http://qt.gitorious.org/qt-labs/qtestlib-tools

Next weeks:

Sprint 1: 09 May – 22 May

* UMLViewCanvas, LinePath, Circle, SubsetSymbol, SeqLineWidget, UMLView (Classes that implement the view for the diagrams, graphical representation of sequence lines and that represent diagrams)

You can see my complete workplan here: Umbrello UML Modeller QGraphicsView Port

I believe that like most students, my expectation with the GSoC is to LEARN a lot and perform a GOOD job. And even after that period CONTINUE contributing to the community:)


On the 9th of april, all over South America people organize the yearly FLISOL (Latino American Festival of Free Software Installation). I helped to organize the local meet in Porto Alegre, just a few blocks from my home. We had a few talks and an install fest, all happening in the Sindbancários (Bank Employees Union).

The first talk was about the Web Mind discussing a natural language code generator. Yes, a tool which can turn common portuguese into code. It works very well and if you’re interested, check out: http://www.thewebmind.org/

After that it was our – Jos and me – turn to talk – an openSUSE and KDE talk. I would translate live (one hour in the stage looks like two!) and do my own part directly, of course. The kittens in Jos’ presentation had the usual funny effect and despite having to simplify things a bit compared to the usual audience, we managed to keep people awake. Jos complained he’s used to talking to people “who know the difference between up and downstram”, looks like he has to work a bit on his presentations-to-newbies skills.

A few other presentations happened like Arduino (with moving pieces of hardware, yay). While lots of openSUSE DVD’s and folders were given out only a few computers were ‘turned over from the dark side’. At the dinner afterwards we complained that linux distributions have become too easy to download and install, taking away the fun (and challenge) of installing linux at InstallFests.

And for the very first time at FLISOL, in other room, we had two Dojos (a meeting where a bunch of coders get together to work on a programming challenge) – using Javascript and Ruby. The Dojo happens every month or so, and the programmers were happy to see some talks and to program at FLISOL as it provided a welcome distraction from the usual meet.

With all that, we had some nice results:

* 323 people signed up
* 120 attending (the second biggest FLISOL at Porto Alegre)
* more than 200Kg of food collected (to give to a support organization for the homeless)
* 7 technical talks
* 2 coding dojos

You can check the pictures here and here :)

bye ;-)

Building a sexy Umbrello

I’m a big fan of Umbrello. It’s a Free Software graphical UML (Unified  Modeling Language) editor, one of the very few of it’s kind. Most UML tools are proprietary tools written in Java and Umbrello is written in C++/Qt and build on the powerful base of KDE  software. I realized how interesting Umbrello is when I noticed that the  most of my professors suggest proprietary tools or a generic diagramming program with few UML features to study UML at college class. Many companies use UML to help them quickly write applications and Umbrello is (as far as I know) the only Free Software tool which can do the code generation required for that!

Why UML is important?

Modeling is the designing of software applications before coding. Modeling is an Essential Part of large software projects, and helpful to medium and even small projects as well. (…) Using a model, those responsible for a software development project’s success can assure themselves that business functionality is complete and correct, end-user needs are met, and program design supports requirements for scalability(…)

Of course, It is not only my college that uses UML, there are a lot of company wich use UML tools in their development process, including  companies where I have worked and you can find some more examples here.


So having a Free Software UML editor is pretty important! And the Umbrello UML editor is really cool:

  • Automatic code generation (Ada, C++, C#, Java, perl, PHP, Python, Ruby)
  • Import classes and project (Ada, C++, IDL, Java, Pascal and Python only)

The bad news is that Umbrello does not receive a lot of love. It has been roughly ported to Qt4 and KDElibs4 but still uses a lot of Q3Canvas classes and has quite a few bugs.

Umbrello today


Working on Umbrello

Which is why I choose Umbrello for my conclusion work for the University. I would have to work on something anyway, why not pick something that matters? But as I combine my study (5 nights with each a different class) with a full-time job I don’t have a lot of time to do a proper job on Umbrello. My goal for the University is therefore pretty modest: I intend to finish the port of the canvas to QGraphicsView. I have identified about 30 classes which are related to the Q3Canvas and will have to be ported or replaced. I also intend to use tools for automated tests, write unit tests and and fix some bugs.

But there is more to do:
  • Better stereotypes supports
  • Complete Undo/Redo  support
  • Hyperlinks support
  • Reuse KDevelop analysis for code import
  • Bug fixing

GSoC 2011

So I have applied for a Google Summer of Code. Jonathan Riddel, the current maintainer of Umbrello, has said he would mentor me, which is really cool. So if I get this, I can quit my current job and finish the porting to QGraphicsView much faster. To ensure it’ll be a successful project, I’ve been quite modest in my goals for GSoC too: I only shortened my university plan to the GSoC timeline and added a few small things. If I finish the work for my conclusion work during the GSoC, I can be more ambitious for my University and add to the plan – I’m sure my professor won’t mind if I take on some feature work in Umbrello as well!

openSUSE 11.4 Launch Party

Today is the day the openSUSE Project releases openSUSE 11.4 with many new features like KDE Plasma 4.6, GNOME 2.32 and a GNOME Shell preview, LXDE and XFCE and many applications like LibreOffice, Firefox 4.0 and Scribus 1.4! You can find a list of new features and cool things (english) here: http://en.opensuse.org/Product_highlights and a nice presentation here http://en.opensuse.org/openSUSE:Presentations#openSUSE_11.4

After a “bad update” on my netbook with Arch Linux :( and after listening to the opinions of some friends I decided to try openSUSE. Besides of a quick and easy installation, openSUSE is very easy to configure. With YaST, the configuration tool, you can do complicated things very easy – it is better than what other distributions have. And even if you don’t use openSUSE, you must have checked out suse studio susestudio.com and the open build service build.opensuse.org. With Suse Studio you can create your own operating system together with YOUR selection of software (you can even upload your own or add repositories) and images and other stuff. With OBS you can build packages for all Linux distributions, including debian, Ubuntu, Red Hat, Fedora, Mandriva, openSUSE, CentOS and more. Yes, openSUSE is THAT cool and openSUSE 11.4 is part of that:D

And is not only about software, openSUSE is really doing great, with the work on an openSUSE Foundation it will be a real Free distribution, not controlled by a big company but by the community. With Canonical doing stupid things lately, showing that a distribution needs a foundation and not a ‘dictator’, I think that rocks.

So, such a cool release deserves to get all the Linux people together.  Jos Poortvliet, community manager for openSUSE, is in Porto Alegre now and wants to have a release party. There is no page for Porto Alegre yet on the http://en.opensuse.org/openSUSE:Launch_parties_11.4 page but we can easily pick a pub and have a drink or two and talk about Linux, GNOME, KDE, and everything cool in Free Software ;-)

Get 11.4

%d blogueiros gostam disto: