Tuesday, November 30, 2010

My Last Day in The Lab

In November 15th this year, Matt Welsh, a young and successful tenured professor at Harvard, decided to leave his prestigious academic position to work full time for the industry. He is now a Google employee and he claims that he has more freedom and computational power than ever to make real and substantial contributions for the computer world.

I fully understand Matt, besides not having his prestigious position neither his brilliant mind. We both love our respective universities, keeping a profound admiration for what they represent for the society. However, we both also agree that sometimes our way of thinking and acting don't fit the way the traditional research world is moved. We love freedom of thinking with a minimal influence of external factors, but we also get upset when things happen too slow because we have a lot of formalities to deal with before having our work appropriately recognized.

Normal working day at the lab registered by Koen Cobbaert
After all, my experience of doing PhD at UCL was amazing and I do recommend it for those who ask me for an advice about the academic world. In this world I've learned how to solve really tough problems and to practice my favorite sports: writing and coding. It was a journey of 4 years extracting the maximum of creativity, patience and emotional control. When I finished, I had a feeling that everything else is easier and I lost the fear of facing new challenges. In summary, life gets more exciting.

After this remarkable academic period, I feel the need of changing in my heart. As my adviser said once:
"we are fundamentally educators and in order to spread knowledge people should come and go elsewhere to make useful things with their privileged knowledge".
I do agree with his statement and that's one of the reasons I'm leaving the lab today. Because I believe it's time to leave my sit available for another brave student who is looking for this wonderful life experience. And I should follow my path, doing what I love to do, which is work as a Java Architect in the corporate world.

Monday, November 22, 2010

Preparing Ubuntu to Write Latex Documents

That's a self-reference post that might be useful for you too. I just installed Ubuntu in a new laptop and I was surprised by how easy is to install a Latex editor and the packages needed to compile and render documents. As a Texmaker user, I'm going to explain the installation using this editor.

On Ubuntu 10.04 or higher, go to Applications - Ubuntu Software Center. Type "Texmaker" in the search field on the top right. Texmaker will appear in the list, then you can click on "Info" to get more information about it, as shown in the figure below.

Press "Install" and have Texmaker and its dependencies installed on your Ubuntu system. TeX Live is the Latex system installed. Notice that you don't have to do anything to install TeX Live, it will just come together with Texmaker. The installation process will take some time because TeX Live is a big package and you will probably need a good internet connection.

Unfortunately, just a basic version of TeX Live is installed and you will probably have problems trying to write some little advanced texts. To handle that, I suggest the installation of additional texlive packages, which are:
  • texlive-bibtex-extra
  • texlive-fonts-extra
  • texlive-fonts-recommended
  • texlive-math-extra
  • texlive-science
Go to System - Administration - Synaptic Package Manager. Use the search box to find the packages above and check them for installation. That's all you have to do to start writing high quality documents.

Thursday, November 11, 2010

I Don't Wanna Work Alone !!!

If I remember well, the last time I have worked in a consistent and competent team was in 2008, in a workshop in Paris, France. That workshop produced incredible results afterwards that helped me a lot to conclude my PhD successfully. After that, I have been working alone or in pairs, but never in a real team.

God knows how hard I have tried to set up a real team in the last few years. Actually, I couldn't do that as a simple student because I was too much low in the hierarchy, but I kept the faith that it would be possible for small achievements such as integrating software modules or co-authorship in scientific papers. Unfortunately, it didn't work either.

The only format that worked really well was in pair. Of course it demanded twice more dedication, but the results were impressive. Look at what happened with the Usi4Biz project. Working together with Kênia, we could do nice complementary work defining (She) and developing (Me) a framework to link business processes with user interfaces. Her part became her PhD thesis and a chapter of mine and I have accumulated a lot of expertise in model-based and distributed development besides publishing several papers together. The idea was also internationally recognized by IBM and resulted in many international collaborations.


I don't complain about working alone because it was part of the game since the beginning. Every graduated person knows how much of solitary work a good research would demand. We have to get protected from plagiarism sometimes when ideas are not published yet. However, I would say that lots of possibilities are missed when people do not work together sometimes. Research results will be delivered, but there will always be a feeling of doing less than what is actually possible to do. You know, maximizing the thing.

Now that I have finished my PhD, which is an awesome milestone, it's time for changes. I guess the wish to work in a team and stop being a student are heavily influencing my decisions towards "maximizing things" ;)

Monday, November 8, 2010

Blind Review of Scientific Papers

Some time ago, I wrote a post about how to write scientific papers. This post is not quite famous like other technical ones, but it might help those who are starting in the research world. I'm revisiting this topic again by explaining how to prepare a blind copy of a paper for reviewing.

But what is a blind copy and why is it necessary? A blind copy is a version of an article that doesn't show the authors and any other reference for them. Their names and affiliations should be removed from the front page as well as sentences mentioning previous works rephrased and self references hidden. All this caution is necessary to ensure honesty in the reviewing process, or at least maximize it. A well known researcher might influence the reviewers, who will be inclined to accept the manuscript not because of the overall quality of the work, but because of the author's influence. Other reviewers might be inclined to reject the paper because they might be direct competitors. And sometimes we write such bad papers that it's better that nobody knows who did that shit.

By hiding paper's authorship when submitting the paper for review, authors, editors and program committee members are contributing for a more reliable reviewing process, directing the focus to real research instead of other influences.

How do we know if we have to send a blind copy? It is usually required in the call for papers. I would suggest to always give preference to conferences, journals, magazines and books which adopt blind reviewing. It is good for our research because people will be more honest with us.

Thursday, November 4, 2010

Suggestions to Improve Texmaker

Texmaker is a Latex editor used to write well structured documents. Latex is a text processing language not so trivial, but once mastering it the writer gets very good results on the overall quality of his/her documents.


I have been using Texmaker for a while, but only recently I could experience most of its features. I spent a long time using it to write my thesis and I figured out some possible improvements that would make this tool more usable. The evaluated version was the 2.0 one, but the latest version is currently the 2.1 one. Maybe some of my suggestions are already available. I didn't have time to check yet. Anyway, the improvements are:
  1. Restoring the previous session is really an interesting feature. I personally think that it is better than creating a project, as other tools do, because it preserves the simplicity of Texmaker. However, besides saving last opened files and the master document in the application session, I would suggest to save all bookmarks as well. It is useful because when we are working in a large document it is difficult to find exactly the point where we have stopped working last time and bookmarks were the first thing I thought that might be solving this problem.
  2. It think it is quite easy to detect which document is the master. It is basically about to find \documentclass at the beginning of the document. So, if Texmaker would be able to set the master document automatically instead of forcing us to do so, it would be a great usability improvement. I understand that there is the case when more than one candidate for master is opened. In this case, I would suggest the following rules to decide which document is the master one before compiling the document:
    • only one file is open and this file can be a master: define it automatically as a master.
    • many files are open, but only one of them can be a master and others are just inclusions (\include{}): define as a master the only one that can be a master.
    • many files are open and there are more than one candidate for master: select one of the candidates for master and compile it to define it as the master. If another candidate is selected and the compilation is invoked, then the current selection will become the new master. If the selected file is not a master and the compilation is invoked, then the last selected master is considered.
  3. The spell check works fine, but It would be nice to add new words to the dictionary in order to avoid red underlines in words that we are tired to know they are right. I can imagine how hard it could be to avoid verifying Latex keywords and parameters, so I got used to spell checks' highlights there, but in my text it's a bit annoying.
  4. Texmaker is doing a great job presenting the structure of the tex file. Clicking on any item brings the corresponding point in the text to the user, helping a lot on the navigation of long texts. The problem is: why doesn't it do the same for "bib" files? bib files are as much structured as any other latex file, so Texmaker would implement the visualization of bib files on the structure view, simplifying the navigation through this file, which is usually long.
Hey! Wait a minute! Texmaker is open source. Why don't I just make all these contributions to the project? For the moment I can't. I wish I could, but to invest time in C++ might not be so strategic for my carrier right now. I've tried to find some Latex tool implemented in Java, but I found just some immature projects unfinished. Anyway, I'm quite confident that an usability evaluation can be also considered as a contribution to a open source project, don't you think so? ;-)