Saturday, December 31, 2011

On 2011 and 2012

The good things

Joining Amadeus is the best thing that happened to me this year. It was a little bit complicated, but I'm happy that it's finally done. The travel industry has a lot of  very very interesting applications of computer science. And what's better than joining the leader in the field ?

Needless to say, however, that the rest of the blog content will be all mines, not my employer.

When I started the year 2011, I had used Scala for a year, mainly for my  part-time master degree. 2012 is then my second year only with Scala. I introduced Scala two times this year, one for Amadeus and the other was for SII. In both occasions, the public showed strong interests in this language. Scala in Depth is the new book on Scala I read this year(well, the only one, actually). It's an interesting book, and can't wait to read the final version.

I started learning Clojure also in 2010 using Stuart Halloway, Programming in Clojure. But in 2011, reading The Joy of Clojure and Clojure in Action brought me to better understanding of this very interesting language. Clojure has also a very interesting community, many of them are very intelligent. Most of all, Clojure community do not seem to care on whether or not they become Java killer or Java replacements. In this regard, compared to Scala community, they are cooler.

What to say about Haskell? Simply the best mainstream language exist out there. Compared to 2010, I read a lot of papers on Haskell. And what superlative to be used to describe Monad Reader? Simply the best.

If there is only one conference I would like to attend, I would name "Strange Loop". I read almost all slides, check almost all videos that made online. Of course, I didn't miss the best presentation of the year for me, which is Rich Hickey's Simple Made Easy. It's really my dream to be able to attend the conference some day.

Participating in organization of RivieraDev conference is another interesting moment. It's a small conference with a quality comparable to bigger European conferences. I loved the high and low, non stop thinking about the contents and the corresponding speakers were very interesting experience. Would love to do it again in 2012.

This year, I also started to be interested in machine learning . I started with Mahout in Action, followed by Machine Learning in Action, two excellent books from Manning. I also read Collective Intelligence in Action and Algorithms of Intelligent Web, also from Manning. Finally, without surprise, I've also finished Standford ML-Class. That was an excellent class and surely will help me better understand the subject. If you didn't attend this class, please do for the next term.

Finally, with Nicolas Bousquet and Tobo Atchou, we manage to found the long-term project of organizing user group around Scala and e. We named it Riviera Scala Clojure, following the name pattern given by Riviera Ruby and Riviera User Group. I love this group, and am optimistic on its future.

The bad things

If I have to mention one bad thing this year, it would be a repetitive attack against Scala. Some of them were really unfounded. I really wonder why Scala had such difficult moments this year. Maybe this is because there are more and more developers use Scala and they expect to have the same supports as Java. Or maybe, because functional programming is indeed not an easy thing to understand. Well, I found that the Scala leaders (Typesafe, for example) have reacted quite positively.

Other thing that I regret is that I didn't manage to go to either Devoxx or Fosdem, two European interesting conferences. Not to mention Scala Days 2011 that was not in Europe.

I also regret the fact that I didn't manage to learn more on distributed systems like Hadoop, Spark, and two interesting projects that address BSP like Apache Giraph and Hama. I didn't really have enough time to learn those interesting things. I would say that, put aside Mahout, I didn't really add my knowledge on Hadoop (and its ecosystem) from what I have learned in 2010.

Somewhere in October, I was in nostalgic mode, and started re-learn Prolog. Unfortunately, it was very quickly abandoned due to also the lack of time.

I would like to "make a comeback" to Hadoop  and Lucene  world :-). I will start my personal project around Lucene starting this year. I also hope that the project can benefit something from Spark and/or Mahout.

Indeed, I think I will do a lot of things around text processing, machine learning, and all those things. Without surprise, I will register to Standford NLP and PGM classes.

I also expect that in 2012, I'll learn a lot on building distributed system. That's why I will put some efforts on Akka's world, or Actor's world in general. This includes of course Erlang. Yes, I would like to seriously learn Erlang in 2012.

I've learned functional programming a lot from Haskell and Clojure --  in addition to Scala. I plan to learn Erlang, and to complete the figure of functional programming, I would like to learn OCaml, one of the most important language in functional programming.

That said, of course,  Scala, Clojure, Haskell, and yes: Java (I still love my aging Java) will be my main concerns in 2012.

If I manage to have everything in time, I will attend Scala Days 2012. Hopefully on or two other meetings in Scala/Clojure in Europe, and why not participating in French Scala Days organization or something similar? (If you plan to organize one and look for volunteers, you know who to contact :-)

Riviera Scala Clojure will make sure that I consume my free time.  I hope the group to become bigger and will give significant contribution to Scala or Clojure community in general.

Happy new year !