Not going to GUADEC

For the first time since I first started attending GUADEC in 2009, this year I am not going.
Strasbourg is very close to where I live (about four hours driving) but some factors just make it very difficult to attend the conference this year. We have a guest over and I didn’t want to go by myself because, even though Olivia is a very relaxed baby, I still notice how I am more tired than usual and it would be risky to drive all alone (besides, it’d leave all the responsibility of taking care of the baby to Helena). Taking everybody there could be an option but I could only go for the weekend anyway and, since we’re going for vacation a week after the event, logistics and timing are just not convenient.

I will surely miss having a beer with old friends.

Have a great GUADEC!

olivia_and_daddy

See you at FOSDEM 2014

This year I was almost skipping FOSDEM. It is a delicate time for me to be out as I will be a dad soon but the doctors say it is supposedly okay if it’s for a couple of days so I am going to FOSDEM for my 7th year in a row!

Due to that uncertainty, I haven’t proposed any presentation but if you want to talk about the projects I’m involved in or about work and life at CERN, let’s do it over a couple of excelent Belgian beers (or waffles if you prefer).

See you in Brussels!

FOSDEM

Talk about best practices in Git

Today I gave a talk about best practices in Git at CERN‘s IT Technical Forum.

I am a big fan of Git and, since I started using it, I learned a few tricks and ways to get a more “healthy” repository, so I wanted to share this with users that are already using Git but still have doubts about the best way to do certain things.

Here is the presentation’s slides:

This is the kind of presentation where one might disagree about some of the recommended measures but hopefully there’s a subset of those that will help make things better for teams.

Practice your git-fu!

What a year!

What a crazy year this was! In 2013 many important events happened in my life that would make this a very busy year.
To start, I began the year looking for a new job after 4 years working for Igalia. This meant that I had to travel a lot and move (with Helena) from the place I felt like home (the city of Coruña), having to say good bye to many good friends.

This search also took me to the U.S.A. for first time where I met a very interesting company and people. Since Helena and I didn’t do our traditional travelling this year, going to San Francisco was definitely the most interesting trip of the year for me. I really want to visit it again some day together with Helena.
Then I ended up joining Red Hat, where I kept working with GNOME technologies — mainly on the Wacom related pieces — together with some of the best Open Source developers in the world. I also moved to Berlin, the city I am in love with, which meant fulfilling a dream we had for a few years. My dear friend Chris Kühl helped make this move smoother so I have to thank him here again.

After just a few months in Berlin, I received the positive result of an application to CERN that I had done before all this and I had to make yet another decision. We decided to do it and we moved out of Berlin just shortly after knowing that we will become a family of 3 next year! Our little girl Olivia will be born next March and we cannot express how excited we are about it!

Life in this region is very different from Berlin’s (not bad, just different) but CERN is a very unique place and I am enjoying the experience.
Our arrival here was also easier because of Quim and his wife Ana Marta, a couple of friends from University who really couldn’t have helped us more. Together with our good friend Nacho, they are really “5 stars” as we say in Portuguese :)
I need also to mention my parents who not only helped us with moving out of Spain but also drove all the way from Portugal to France in order to visit us and bring us our stuff.

Technically, I live in France, in a small town called St Genis Pouilly, close to CERN on the French side of the border but it’s really still Geneva’s area. A curious thing about Geneva is that its largest foreign community is the Portuguese. I hear more people speaking Portuguese at the supermarkets in here than in Algarve :)
One of the things I miss from Berlin is the possibility to easily ride a bike anywhere. In here it is dangerous (drivers are crazy and there’s no bike lanes) and less convenient (Berlin is flat, here it isn’t) but I found another physical activity to compensate a bit my sedentary job: I started playing squash and I love it!

As a result of all these changes, my personal projects got a bit neglected. I released only one new version of Skeltrack and OCRFeeder (actually I got a new version of OCRFeeder almost ready to ship) and I did a couple of quick hacks with the Leap Motion Controller.
The number of books I read was also lower than ever this year. I read a couple of books by Cory Doctorow and a spy thriller called The Shanghai Factor.

Not all things in 2013 were as great as my words might indicate. My grandmother (to whom I was very close) passed away a month ago. It was a very sad event, but she lived a long life and had her family beside her in every moment.

About 2014, my biggest wish is that everything goes well with the baby and Helena. I think I will probably have to miss some of the Open Source events I usually attend but I got a good excuse, right?
I hope it’ll be a quieter year than 2013 in terms of moving and that I can still dedicate time to my personal projects.

2013 was a year I will surely remember all my life. I am a lucky person to have had the opportunity of different experiences, to have friends in many places and to have my wife and family supporting me all the time.

I wish you all an excellent 2014!

Olivia in Helena's belly!

Playing GTA V on a PS3 with Leap Motion

I have a PlayStation 3 and I love working with new types of user input so, as my last hack of the year, I wanted to use the Leap Motion Controller to play some game on the PS3.
The Leap Motion Controller is obviously not compatible with the PS3 so the plan was to use a regular computer, interpret the gestures from the Leap Motion, and send the respective controls to the console.

For the game, I chose GTA V because it involves many different actions such as running, jumping, driving or shooting… and it’s awesome!.

Here is the video of yours truly using this script to do some disastrous driving but having a lot of fun with the Leap Motion and GTA V:

The reason why the big video has such a low quality and the tiny one is fine is that they were recorded with my Nexus 5 and my Canon S95, respectively, and my living room was very dark.

How it works

As seen in the video, it is also possible to control the PS3 menu and choose the game from there. The player’s actions I chose to implement were walking, running, jumping, driving and enter/leaving a vehicle. All of those were easy to implement except for the driving. The thing is that I can easily get the angle for the imaginary steering wheel that a user does with the Leap Motion device but I could only simulate turning the left analog stick fully to the left or to the right. This makes it kind of difficult to steer a car, as can be seen in the video, but it’s still fun to do it.

For the communication with the PS3, it uses the GIMX project which makes it possible to simulate a SixAxis game pad from a computer and send its actions over bluetooth to the PS3. GIMX has some nice utilities, being its main one the emuclient which detects key events and uses a configuration file to map them to the actions of the SixAxis. It would be much more elegant to send the commands to the PS3 directly from the script I wrote but it was simply faster to instead simulate the key events and let GIMX do the rest with the right configuration file.

As with the Leap GNOME Controller, this is a small script rather than a big project. To know how to use the project, please refer to the README file that ships with it. Hopefully someone will like to try it out and improve the current gestures or make new ones.

Get the source at GitHub and have a great 2014!