Monday, December 17, 2012


2012: Some things have a happy ending.

- Bye bye UNICAMP: I'm glad for the 5,5 years we had together, for the GSoCs and mainly for the friendships you have provided me. Was a really nice period in my life but I'm happy so far it's done.
- Bye bye FIT: I really had the opportunity to work with great guys and I learnt a lot about "How are the processes in a great company". Unfortunately, I was not FITting in the company philosophy anymore but I really wish the best, for all employees :) Special thanks to IBM guys: Breno Leitão, Leonardo Rangel, Leonardo Garcia and Rafael Lorandi.
- Bye bye Campinas: Since 2007 Campinas has been my home and I have lucky for live and go along with friends in the most part of this 5,5 years. Guys, you were, you are, you always will be the definition of awesomeness
- 8 years dating: Sometimes we need to make a decision ... :)

Althought I don't have doubts that 2012 is the year with more significant changes I've ever had in my whole life ... 2013 is also promising ...

2013: New ways to follow:
- Marriage: After 8 years dating, Eliane and I are married, finally! I have no doubts Eliane is the person I want with me. Hope we can be happy in this new step of our life! :)
- GNOME Foundation: Special thanks to Zeeshan Ali and Christophe Fergeau for a positive (or not negative) vouch and mainly for the opportunity in the Google Summer of Code. I hope I can help (at least some parts of) GNOME as part of my new work.
- Red Hat: Special thanks to Zeeshan Ali (yeah, again, Zeeshan rocks!) for the indication and Christian Schaller for the opportunity. I have no words to describe how happy I am for enjoy a company where the values are so close than mine,  that did my bootstrap in the Free Software world (was the first Linux Distribution I have tried), that has a plenty of contributions in the most significants Open Source projects! Ah! I'll try to do my best in the Desktop Team. :)
- Czech Republic: I'll move to Brno as soon I can get my VISA (probably in February/2013). Didn't have been there, but looks like a nice (and cold) place to live. Eliane is really happy about live in a not so warm place and my only wish is: Don't meet Gregor Samsa family and friends. :-)

That's all folks, I wish all the best and have a happy new year!

Sunday, September 23, 2012


After a long time trying to find a way to feel good doing what I've been paid to do, finally it's clear on my mind. I don't mind about work with free/non-free software. What moves my motivation is another thing: I only want to do something useful, useful for me, useful for people ... in a large scale. Unfortunately, I didn't have this possibility in any place I've worked for.

Okay, it's time to search for something better ... :)

Saturday, September 1, 2012

Libosinfo 0.2.0

All the work I did during this summer, as a GSoC student, in libosinfo was released yesterday. Yay!
Here is the announcement done by Zeeshan Ali (Khattak):

"Libosinfo 0.2.0 is out!

Introducing a new set of APIs to enable application developers to easily create
unattended/automated installation scripts for various operating systems.
Currently only Fedora and Microsoft Windows are supported. Also provided is a
commandline tool, 'osinfo-install-script' to easily create such scripts without
having to write any code.

Other changes since 0.1.2:

- Fix build against mingw64 toolchain.
- API for getting product logo URLs.
- Fix architecture for a Windows 2008 media.
- Remove bogus minimum storage information for Fedora.
- Add varirables for system and local database paths in pkg-config."

Moreover, I've been working on libosinfo to add AvatarInfo (current task) and improve the replacement that will be done in Gnome Boxes.

See ya!

Monday, August 20, 2012

Pencils Down!

Google Summer of Code is over and is time to stop, look back, and discuss a bit about what I've been implementing.

Our original idea was port boxes to use Install Scripts API, included in libosinfo (Daniel Berrange, Zeeshan Ali and I have been working on this, that probably will can be used in the next libosinfo release) and add support for another distributions (OpenSuSE, Debian, Ubuntu,etc ...). The second part was not completed, unfortunately, but will be finished after the Google Summer of Code period, because the first part was a bit more long than expected.

The first part of the project, the port itself, was finished and covers:
- small fixes in libosinfo
- add support to libosinfo to generate the script in a file
- add suport to osinfo-install-script tool to use the previous one
- add a new entity, called osinfo_install_config_param used to get which are the parameters that can be set in an install script
- add support to generate an install script for Fedora (desktop profile)
- add support to generate an install script for Windws (it covers: win2k, win2k3, win2k3r2, winxp, winvista, win7)
- remove boxes installation scripts and use libosinfo API

IIUC, my patches are going to the upstream ASAP, but until it occurs,  you can see what I'm implementing in my Gitorious (

Sincerely, was a big pleasure to me could integrate the GNOME team and I hope we can keep  working together.

See ya, people!

Friday, August 3, 2012


GUADEC didn't was my first international conference, but, certainly, was the funniest one!
Was a great pleasure to meet with some guys that helped me a lot in non-GSoC related projects as: Lennart Poettering, Alon Levy and Christophe Fergeau. And, of course, to meet with some guys that are helping me in GSoC as: Zeeshan Ali, Marc-Andre and Christophe Fergeau (Again? Yeah, he is awesome!)
I've no words to describe how awesome was know some students that I prefer don't name them for fear of forgetting someone. I'll miss you all! :)

In the near future I'll write another blog post (less emotive, this time :)), talking about what I've considered the positive/negative points of GUADEC, IMHO.

Thanks for the time we spent together, the talks, the gossips, the beers!
Thanks GNOME Foundation! Thanks Local Team! Thanks Google! :)

Tuesday, July 24, 2012

libosinfo: fedora support, for desktop profiles, for unattended installations

Finally these patches were rewritten and sent to virt-tools ML.
It was tested with lastest boxes (including one patch of mine) and works properly.

Let's work on Windows stuffs now, see you in a few days!

Best Regards,

Friday, July 20, 2012

One month without blog post

This is a post a bit non-usual and, maybe, not so interesting for the most gnome readers.
I'll try to split it in 3 parts: demotivation, health and mentor.

I've been working for some companies and I want to share a small list of common things that easily could destroy (or save, if avoided) the motivation of some projects. It is something like "What every programmer should not do in a project!" in a few words. 
1st: Work in a scope: Changing radically the scope of the project, without a good plan, causes lost time, money and motivation.
2nd: Listen to the team: if you have a team with few people working together, and something is *always* pointed as a problem for (almost) all members of the team, don't try to hide the problem instead of solving it. It's demotivating.
3th: Be honest, be clear: Try to keep all members of the team with the same level of informations. The team is trying to work together, no? Hiding information for one or two members of the team can demotivate this guys. At this point, is relevant to say that technical decisions might be decided for technical members, all of them, in the best case.

These 3 points are sufficient to demotivate a team. And, as everyone knows, demotivation is something not limited to your project.

Demotivation, usually, follows you to your house and influences your behavior with your friends and family. In the worst case, it will cause a stress outbreak.
But the way from your first discomfort until a stress outbreak is long, weeks, months ... maybe years. And it is *the* problem. Because your humor is worse, your sleep is worse, your quality as developer is worse ... this shit is consuming your whole life and you don't have idea about it ... until the necessary outbreak occurs and you need to restart to think about your "way of life" :-)

Firstly, I did a wrong idea about "mentor" in the beginning of the project (or I'm lucky, don't know). But, at least for me, mentor was a guy to talk about the project, about the problems with the project. Not about my personal problems, not about my personal life.
So, for some times I thought: "Should I share this kind of stuff with my mentor? This kind of things should not influence my project". Yeah, I was wrong! Last week I talked a lot about all these shits with my mentor and it really helped me, at least, to brighten my mind.

Of course, all this stuffs have serious consequences in my schedule. Now, I'm here, in the bed (with an infection) and with the project delayed. That's the life and I hope I can use the rest of my weekend to post something useful to community (with some code and some stuffs working).

Best Regards,

Tuesday, June 12, 2012

LibOSInfo improvements and one more GSoC status


In the last post I was more optimistic than I could be, so, the world is taking their revenge :-P
So, firstly, bad news:
  • I didn't understand some points of project until the last post and I took some time to talk with my mentor (thanks, zeenix) to try to clarify all of them. I think I can consider it checked!
  • Because of that I lost (a bit) my focus and my schedule, so I'm about 1~2 weeks late. It's bad but we don't need be worried.My schedule is not so tight and I allocate 2 weeks (before mid-term) to use in case of (possibles) problems :-)
And, the good ones:
  • Some patches were produced to improve libosinfo and sent to review. The proposal of these patches are:
    • Add and expose some APIs needed, at least, by Gnome Boxes
    • Add support to generate scripts with multiple files
    • Add "desktop" profile for Windows and Fedora (15+) automated installations' scripts
  • I'll attend GUADEC 2012. So, many thanks to GNOME Foundation, Carol Smith, Google, my mentor, and specially for you! </brazilian TV show for kids>
Next step is remove, entirely, automated stuffs from Boxes and use, correctly, LibOSInfo APIs. it's a work in progress, for information. :-)
And, finally, I know, it looks like a "not so good" progress, but I had one step back to avoid to build a house of cards as fast as possible. Let's try to build solid bases before.

See ya!
Let's hack!

Sunday, May 20, 2012

Welcome install-scripts API's! See ya old installer files!


After two weeks out (yeah, university is trying to kill me), good news: progress are being done!
Better than planed, this weekend I did:

  • LibOSInfo (patch set was sent to virt-tools mailing list):
    • Installer's tags for win2k and win7 were added, allowing users to create install scripts for both windows
    • AutoLogon was set by default for all flavours of windows
    • Desktop Profile for Fedora's automated installation was added
  • Boxes (keeping this patch while wait a bug fix that will change some files that I changed, before send to mailing list)
    • Old automated files were dropped in favor of use install-script API's, provided by libosinfo and improved by my last patches.
While I wrote those patches I did a small test, installing Fedora 16 using my fresh changes, and it worked like a charm (or, at least, like worked in the old way).
If everything occurs as planned, in the next weekend, tests with Windows will be done and eventual issues will be fixed!

See ya and let's hack!

Sunday, May 6, 2012

First week working on GNOME-Boxes' port was awesome!

Last week I spent some time to familiarize myself with the code and start the port itself, as planned in sprint00 and sprint11 respectively.

After some days reading the code (yeah, I'm not a good reader), I finally understood Daniel P. Berrange's idea for install-scripts (libosinfo) and put my hands on the code, starting the port (or, at least, trying).
In this process, 4 small patches were produced and sent to libosinfo's mailing list (waiting for review), and I'll consider sprint0 finished and go to sprint1, doing this a big sprint with almost 3 weeks, as soon as patches are accepted.

See ya!

0sprint0: Familiarize with the code/project/mentor
deliverable: a simple patch related to the project

1sprint1: Porting Boxes to new API
deliverable: Boxes using new automated installation API of libosinfo and dropping all OS-specific automation code

Sunday, April 29, 2012

GSoC 2012 - Gnome Boxes!

Yay! Last week I was noticed I'm a selected student to do an "internship" working with Gnome-Boxes in GSoC 2012.
"What the hell is Gnome-Boxes?" is what you're thinking, I guess. So, you can start looking at project page and at this Zeenix's blogpost.
"And your project is about ... ?"
Basically, my propose involves improve new libosinfo API for automated installations; port Gnome-Boxes to use that and implement support for Debian, Ubuntu and openSUSE (at least). :-)
"Is there a schedule of your project?" You can take a look at my schedule here
"And about the progress?"
Further's progress informations will be shared here and in LiveGNOME's page for this GSoC project every two weeks (or when "deliverable of done" of each sprint is complete).