Happy 2015!

Helena and I have just come back from the holidays with our family in Portugal and I would like to tell you how 2014 was a very good and special year in our lives. The big event that will make us never forget this past year was of course the birth of our daughter Olivia. Everyone who has kids will tell you how nice it is to have them and they’re right! All the tiresome, stress and lack of sleep is forgotten when we see her smile every morning.

Helena and I love to travel and have made at least a big trip every year for a few years. With the baby, those trips have to be shorter but since she was born we’ve been already to Portugal (twice), Spain (visiting our old colleagues in A Coruña) and the U.K. (more particularly London). That thing that people tell you about how having a child changes one’s perspective on many things is also very true for traveling. Olivia can be very easily awaken by noises so now we realize how noisy some cars and motorcycles are… London was awful in that regard. The underground was noisy as hell, including the very loud voice warnings. Also, as a big European capital, I was expecting its public sites to be accessible but even in the emblematic Victoria Station there was no elevator to access the underground. The sad thing is that while the stroller is a temporary annoyance for us, people in wheelchairs have to cope with that permanently.
We’re very curious about visiting Berlin with the baby to check those annoyances in there (because I seem to remember the underground being more silent and accessible) so that’s a trip we might do this year.

The book count kept low this year: I read 3 books and started another one which I haven’t finished yet (REAMDE by Neal Stephenson).

Even with the lack of time due to the baby, thanks to my wonderful wife I still keep playing squash and attending the CERN Micro Club once a week. Despite the awkward name, this is one of CERN’s many clubs and is concerned with technology, having several sections. I am part of the Robotics section in the club where we’ve been building a 3D printer.
This means less time for my side projects so this year, unfortunately there was only a couple of versions of OCRFeeder and no new version of Skeltrack.
I think that the only solution for OCRFeeder is to eventually have new contributors if there is an interest in keeping the project alive.

About Skeltrack, although its development was stalled during most of 2014, my friend Iago keeps improving it for his Master’s Thesis, and I had a lot of emails from people who are using it. I even visited one of them at EPFL who is using the project with his own 3D cameras which means that having a device-agnostic library was a good decision.

As for my job at CERN, I am finishing what I have been working on so I hope to talk about it in more detail soon.

This year’s donations went to the following places mainly (apart from the EFF, to whom donate every time I buy a Humble Bundle):
Wikipedia: don’t think I need to explain its relevance;
GNOME Builder: because this great guy was bold enough to quit his job in order to make an awesome and long needed IDE for GNOME (maybe you can still donate!);
Chão dos Meninos: an association from my hometown who helps children in risk — I always used to donate to big international projects such as Wikipedia and EFF but last year I realized that, since I don’t pay taxes in my country (because I live abroad), one way of contributing a small bit is to donate to an association such as this one.

I still do not know what 2015 will bring but I do hope that the tendency continues and it turns out to be a great year again!

Have great 2015 everyone!

photo 2

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!

Interviewed by World of GNOME

World Of GNOME has interviewed me again, this time about Skeltrack, my role at Red Hat and Open Source at CERN.
If you would like to know more about those (there is even an animal shelter in the mix), check it out here.

Skeltrack 0.1.14 released

The first release of Skeltrack in 2013 is out!

This is also the first version I release without being associated with Igalia but the company agreed that I keep maintaining the project. That’s one of the good aspects of working in Free Software as your daily job: you can continue working on them even if you’re no longer in the company where it was first developed.

This new version is not bloated with new features so “why such a wait?” you might ask. Well, the reason is that there have been a few changes in my life since last year and, more importantly, after I left Igalia, I didn’t have a Kinect and thus, working on Skeltrack was a bit difficult… But finally a few weeks ago I bought one so now I am able to keep hacking.

Faster Tracking

The greatest thing in this release is a big improvement in the performance of Skeltrack when tracking joints. You see, when I originally developed it, I was more concerned with getting it to actually track the skeleton joints than doing it quickly :)
Luckily, Iago López (kudos to him) did a neat work in fixing some misuses of GList but more importantly, re-implementing Dijkstra using a priority queue. If you remember your algorithms courses well, with this change you can make Dijkstra go from quadratic to linearithmic time and that’s a BIG improvement.
Here is the difference between the old code and the new expressed in a plot:

Plot comparing Skeltrack's versions

The values used to generate the plot were the time it took skeltrack_skeleton_track_joints_sync to execute. For each of the versions, this function was called 25 times for each of the 550 depth frames and the final values in the plot are the arithmetic average of the results per frame. They were executed in my i5 2.40 GHz laptop without any applications or the desktop running (besides system’s services).
As you can see, there’s a great difference between the speed of the old code and the new. I can’t wait to try Skeltrack on weaker hardware now :D

(BTW, why 0.1.14 and not 0.1.12? Because of the “release curse” which made me aware of a simple but important bug fix right after pushing 0.1.12…)

Other Things

Besides some small bug fixing in the library, the Skeltrack Kinect example was ported to Clutter 1.12 to keep up with the work done upstream.

Another new thing is that now Skeltrack has a webpage. I recently found out about GitHub’s automatically generated web pages and I thought this would be better than having people visit GitHub’s repo page so there you go: http://joaquimrocha.github.io/Skeltrack/
The page is a bit ugly and minimalist but we’ll improve it.

The documentation can now be found here and bugs can be filed in GitHub as usual.

Here’s to a great 2013

Just like last year, here I am looking in retrospect to what happened this year but I have to be brief because Helena and I are spending the night with my parents.

Last year I said 2012 would be a year of change but, depending on the perspective, it really wasn’t. In 2013, however, many things will change for sure but I will let you know about that soon. Meanwhile, here is a bit of what happened in my life during this year.

The big trip this year was a very special one — Japan — which I won’t repeat how great it was. We also revisited London and I traveled to other places due to work (even though this year’s GUADEC was in the city I live in).

Last year, I set up a reading challenge at Goodreads for 15 books; 5 more than in 2011. Sadly, I read only a third of those… 5 books in 2012. However, I need to say that in the list there is Crytonomicon, a book I took great pleasure in reading, but which has almost 1000 pages; besides that, the list does not include a few technical books I read.

In 2012, my 4th year in Igalia, I was part of a new team — the Interactivity team. The most important part of my work was definitely the development of Skeltrack: the world’s first Open Source skeleton tracking library.
Skeltrack, together with other libraries like GFreenect was the basis for many of the projects we developed throughout the year.
5 versions of Skeltrack were released since its release, it won an award and in last November it powered a completely Open Source interactive installation in Berlin.

As for other projects, I released 3 versions of OCRFeeder and only 1 of SeriesFinale in 2012.

To finish, this year I restyled my blog, with dedicated sections for the travels and presentations I do and the software I write.

Have a great 2013!