Tuesday, April 28, 2009
Writing About Science in My Blog
Because of that, my approach will be oriented to explore existing contributions to the science and my own contributions too, as soon as I get them published, of course. I will try to explain science using easy words, escaping from the boring reading of academic texts. Basically, I will get bored and sleep on the papers in your place and produce low profile texts about my field of research.
So, be my guest and follow me using RSS or become my friend using the features on the right bar. My intention is to give you a positive view about research and motivate you to create and innovate.
Wednesday, April 22, 2009
The "I Feel Funny!" Effect
This last sentence makes me remember about a research carried out by Jonathan Harris and Sep Kamvar. I initially found them in Vasco's blog. They created the website wefeelfine.org that aims to explore blog contents all over the world extracting sentences that contain "I feel" or "I'm feeling". They try to extract meanings from those sentences, combine with the user profile (age, sex, location, etc) and deduce the user mood. They actually combine elements of computer science, anthropology, visual art and storytelling to infer the user mood.

The problem of this mining is contents on the web that fulfill their queries but are not really useful. This post, for example, mentions "I feel" many times but it doesn't actually manifest my feelings. If they find my blog, this content would be a "pollution" for their database. They have to check it times to times removing inconsistencies. Or course, my blog is not that representative enough to cause a big problem for them, but if we take into consideration all contents produced by people commenting the boy's sentence "I feel funny!', then they will really have a problem.
This kind of challenge has been investigated nowadays by many researchers. It is classified in the field of Web Intelligence that is managing a revolution called Web 3.0. It is indeed a hot topic to be explored and many scientists are producing good content about it, as the Journal below:

The Journal of Emerging Technologies in Web Intelligence (JETWI) (ISSN 1798-0461). This is a journal created to respond to the emerging research needs in the evolving are of web intelligence and related technologies. There are editors from many parts of the world and one of them, Olga Vybornova, works with cognitive science in my lab.
If you are not a researcher but want to get involved, implementing practical things based on existing technologies, I recommend the book below: "Algorithms of the Intelligent Web".
Tuesday, April 21, 2009
The Year of France in Brazil

A French minister declared yesterday:
These celebrations will be occasions to approximate France and Brazil, two countries that share the same democratic and social values, with the same ambition to build a fair world, more open and worried about the respect to the cultural diversity.This sentence was said by a politician, but this is so true. I like it! ;)
By the way, this is not the first time that Brazil celebrates the culture of other countries. Last year (2008), they celebrated the centenary of the Japanese immigration. Look how funny it is! "celebrate immigration". I would say that this sentence was never pronounced in USA and Europe in the last years. In general, immigrants are not well accepted here. Spain and Italy, for instance, are getting crazy about their immigrants. This is a shame because in Brazil we actually celebrate their presence there. It makes me proud!
Monday, April 20, 2009
Oracle buys SUN
Recently, SUN invested most of its energy to strength their software area, being an important open source contributor and service provider. Even with the support of the community, this strategy didn't work in the corporate world. SUN couldn't attest the profitability of services for open source products and their stocks fell down until a level that they had more money in cash than in market value. It literally meant that they could buy themselves :). I don't know more details, but with this low price IBM was the first company to declare publicly their intention to acquire SUN. They gave up of the deal claiming that SUN was negotiating with other companies in parallel. Today we knew that IBM was right ;). That's what I saw in SUN's website this morning:

It's too early to predict what is going to happen with SUN's products. I don't care about MySQL because there is always a good open source alternative out there, but I'm personally afraid about Glassfish, a very good JEE Application Server, that is threatened due to the recent acquisition of BEA Systems by Oracle. Oracle Weblogic Server is a profitable proprietary product and Glassfish is a strong competitor in the same market but with a lower cost. I imagine three scenarios:
- nothing is going to change and Glassfish continues threatening Weblogic (improbable);
- Glassfish is destroyed to increase the Weblogic marketshare (difficult but possible);
- Glassfish is offered as a new toy for beginners, which is the IBM's strategy with Apache Geronimo and WebSphere Application Server Community Edition (big chance).
Sunday, April 19, 2009
Thank You For The Music
Actually, two special facts motivated me to write this post. The first fact is about a movie that I watched last week. The movie was Mama Mia! that I really recommend. The point about this movie is that it can transform an ordinary admirer of ABBA's songs into a great fan of the band. At least, it happened to me. Right after the movie I ran to iTunes and I bought the whole disco collection of ABBA, composed of more than one hundred songs. I started to appreciate songs that I had never heard before, just because of the magic behind the lyrics.
The second fact was an amazing production of a Belgian TV, which surprised a lot of people in the train central station of Antwerp last month. How I wanted to be there to see that unexpected scene! You can see in the video below the emotional impact of such event on the mood of people around it. Even a rock fan was moved to clap his hands to "The Sound of Music" (do, re, mi):
This video must have touched you, hasn't it? I definitively agree with ABBA when they sing:
"So I sayThank you for the music
Thank you for the music, the songs I'm singing
Thanks for all the joy they're bringing
Who can live without it, I ask in all honesty
What would life be?
Without a song or a dance what are we?
So I say thank you for the music
For giving it to me"
Saturday, April 18, 2009
If You Are a Programmer You Need a Designer and Vice Versa
I've been trying to be an artist in parallel but it doesn't always work. My last successful attempt was the logo of my open source project, which is cute but not that terrific. It is beautiful enough to make me happy and attractive enough to show the seriousness of the project. As you can see, there are two "faces" one overlaying another. How is it related with fusion? I don't know. There is no logic on it. That's what I mean about the work of a designer. If the designer is too realistic and pragmatic, he/she cannot see out of the box. For other works I just don't have any talent at all, like the icons in the screen below. They were made by my sister-in-law, Natalia Soares, who was hired by me specially for this work. At the beginning I was afraid to hire her since she is my wife's sister, maybe I can hurt her because I'm very rigorous with small details. Fortunately she is a very talented girl and since the beginning she made an excellent job and I could stress on my small exigencies, which were just details.

She could find a correct balance between art and logic. Icons are different from logos because logos allow more freedom and icons should have intrinsic meanings, easy to detect as soon as you look at them. She made it happen and made me excited to continue with her job. I just ordered a new package of icons and I can't wait for the result. I feel happy to contribute for the consolidation of her professional career. As far as we go with our ideas here, she will go with us, until she gets a better contract with a big company ;)
Monday, April 13, 2009
Using the Java Logging Configuration File Without Command Line
By the way, I found a solution to my problem with the logging configuration file that I reported here. The problem was to find an evidence that the logging configuration file could be referenced without changing the command line to add the parameter:
-Djava.util.logging.config.file=logging.properties
Why not change the command line? Basically, because I want to avoid command lines and continue clicking twice on the .jar file to open the application or enable a personalized logging if the application is distributed by Java Webstart.
If the logging configuration file doesn't exist, I want to generate this file according to the initial needs of the application. A basic need is to store logging files in a separate folder called log, placed in the same folder where the application is executed (working directory). The content of this file should be in xml to be processed afterwards by a logging analyzer. So, I implemented the following code in the main class (class where I implement the main method to initialize the application):
// this method is invoked in the main method
// to initialize the logging.
public static void prepareLogging() {
File loggingConfigurationFile =
new File("logging.properties");
logger = Logger.getLogger(Main.class.getName());
// it only generates the configuration file
// if it really doesn't exist.
if(!loggingConfigurationFile.exists()) {
Writer output = null;
try {
output = new BufferedWriter(
new FileWriter(loggingConfigurationFile));
// The configuration file is a property file.
// The Properties class gives support to
// define and persist the logging configuration.
Properties logConf = new Properties();
logConf.setProperty("handlers",
"java.util.logging.FileHandler,"+
"java.util.logging.ConsoleHandler");
logConf.setProperty(".level", "INFO");
logConf.setProperty(
"java.util.logging.ConsoleHandler.level",
"INFO");
logConf.setProperty(
"java.util.logging.ConsoleHandler.formatter",
"java.util.logging.SimpleFormatter");
logConf.setProperty(
"java.util.logging.FileHandler.level",
"ALL");
logConf.setProperty(
"java.util.logging.FileHandler.pattern",
"log/application.log");
logConf.setProperty(
"java.util.logging.FileHandler.limit",
"50000");
logConf.setProperty(
"java.util.logging.FileHandler.count", "1");
logConf.setProperty(
"java.util.logging.FileHandler.formatter",
"java.util.logging.XMLFormatter");
logConf.store(output, "Generated");
}
catch (IOException ex) {
logger.log(Level.WARNING,
"Logging configuration file not created",
ex);
}
finally {
try {
output.close();
}
catch (IOException ex) {
logger.log(Level.WARNING,
"Problems to save " +
"the logging configuration file in the disc",
ex);
}
}
}
// This is the way to define the system
// property without changing the command line.
// It has the same effect of the parameter
// -Djava.util.logging.config.file
Properties prop = System.getProperties();
prop.setProperty(
"java.util.logging.config.file",
"logging.properties");
// It creates the log directory if it doesn't exist
// In the configuration file above we specify this
// folder to store log files:
// logConf.setProperty(
// "java.util.logging.FileHandler.pattern",
// "log/application.log");
File logDir = new File("log");
if(!logDir.exists()) {
logger.info("Creating the logging directory");
logDir.mkdir();
}
// It overwrites the current logging configuration
// to the one in the configuration file.
try {
LogManager.getLogManager()
.readConfiguration();
}
catch (IOException ex) {
logger.log(Level.WARNING,
"Problems to load the logging "+
"configuration file", ex);
}
}
This way, you can enable and better organize the logging of your application without any additional configuration. If you want to execute the application by command line it is still simple:
java -jar myapp.jar
Or simply click twice on the file in most of the cases. The point about this post is not only teach you about logging stuff, but also motivate you to keep things simple to the final user.
Saturday, April 11, 2009
The Beginning of My Research Journey
"Every problem is solvable unless you give it up."
Friday, April 10, 2009
SUN's new slogan: "I must have forgotten something"
java -Djava.util.logging.config.file=C:\Temp\logging.properties -cp . myapp.business.SimpleApp
But if we don't use a command line to start the application because we love the simplicity of the double click on the jar file or the facilities provided by the JavaWebstart, what the hell should we do to keep things like it always was? I couldn't find any useful code until now to fulfill my needs. If you know any solution, please add it here as a comment to this post.
This experience opened a question in my mind: if the support for logging is so important, why this configuration file cannot be packaged like the "manifest.mf" and the "persistence.xml" files inside the META-INF folder of a jar file? Why don't we just put this "logging.properties" there and everything works perfectly? People at SUN "must have forgotten something". By the way, I think this is an internal slogan at SUN. :(
You can easily notice many minor omissions like the previous one. For example, it's unacceptable that JavaFX cannot officially run integrated with Swing. I'm still trying to realize the need for JavaFX in my professional life. I can easily imagine how good it would be if those interesting effects could run in my current applications. They also seem not to trust their own technology, as you can see in many parts of SUN's website, where they use flash to reproduce videos and other media. How can they compete with flash if they cannot really demonstrate their competitiveness? I know, I know, many people don't have the last version of the JVM, but I have it and I haven't got the chance to see a unique website using the JavaFX technology until now. Just simple examples in websites dedicated to teach JavaFX. Ups! I almost forgot to say that JavaFX produces vectorial content but the JavaFX script doesn't have a single command to maximize the window of a JavaFX application. If you need it, you have to invoke an external code (Java). Once again, they must forgotten this simple feature.
In parallel, SUN created a social network website focused on university students, the Open Source University Meetup (or OSUM). You can find everything you want there except open source content. I think their intention is to wash brains of poor students with SUN technology. They forgot (again) that the biggest source of Java developers come from Java User Groups (JUG), not from universities. My JUG (CEJUG) is a great example. It promotes the Java technology in almost all universities in the state of Ceará (at least 10 and all of them pay to get involved, building a self sustainable model). With the OSUM initiative, SUN only gets the support of one or two universities in each city. In a whole country like Belgium, there are many university groups registered there, but none of them with more the 10 users. CEJUG has 700 members from many universities and many companies. Students talking directly with companies' employees, feeling the marketing, adopting what the market adopts. The OSUM's approach is not fair and not realistic because students cannot make good decisions about their technology adoption inside universities.
I admit that I was blind about SUN Microsystems, ignoring all their mistakes and keeping my faith about their recovery. I remember during the last Devoxx when I've donated an idea to a SUN's evangelist that could represent billions in profit to SUN and they ignored it or just forgot it again, again, and again. I've been waiting for a sunny day at SUN but now I'm tired. I can't wait for the day when IBM will finally acquire SUN. When this day comes, I will blog about my 1 billion dollar idea and you will finally know what they forgot to do... again.
Wednesday, April 8, 2009
The eNTERFACE'08 Effect
Actually, the project surpassed my expectations. What I did there I would never have expected to do something like that. I was always an enterprise-oriented guy and then I started to work with multimodal applications and all those experiments were so exciting. Our team carried out a project about the fusion of 2 different modalities in order to help people on their activities at the office. The two modalities were speech and movement tracking, detected by a speech recognition tool (Sphinx) and an image processing tool (OpenCV) respectively. The fusion mechanism combined speech and movements to predict what people are planning to do in a certain scenario and the computer helped them to complete their tasks as fast as possible.

This project has produced a lot of results, more than we actually expected. We have been exploring a quite interesting gap to fulfill in the field of Human-Computer Interaction (HCI) and signal processing, which is the multimodal fusion and fission. Those subjects deserve further explanations in future posts. For now, I'm happy to announce all the results that we have produced so far:
- The eNTERFACE'08 workshop proceedings : the final report of the project is published in the workshop proceedings. All projects have their report published without a rigorous evaluation, but their results are quite significant because we all follow their works through several presentations during the whole month. It gives credibility to the research produced there.
- Preliminary results presented at the IEEE ISM 2008: At the beginning of the workshop we wrote a paper to a demo session in IEEE ISM'08, describing what we brought to the workshop as a preliminary work produced in the lab.
- Final results published in SPECOM'09: Because the final eNTERFACE report was not evaluated by a committee we thought that it was a good idea to submit it to a conference where other researchers could confirm our investigation as a concrete contribution to the field. Fortunately, we received the notification of acceptance, which is a good motivation to keep our focus on the subject.
- The Meanings4Fusion open source project: maybe this is the most important result for me. The project is not a closed research running in the dark rooms of a research lab. It is public, with a clear authorship but free of charge and widely accessible. You are welcome to participate in the discussions and contribute somehow with the project. After other heavy works, I'm back to the project and you can contact me to get further information.
- A poster accepted at CogSci'09: the cognitive part of the project was compiled in a poster to be presented in the annual conference of the cognitive science society. We are looking forward for the feedback of the conference participants because this part of the project was really hard.
- The EuroDocInfo'09 doctoral consortium: this is a regional doctoral consortium covering universities of Belgium and north of France. I've partially reported it here. They want to bring researchers and companies closer together to identify potential applications in the industry. I've presented there the fusion mechanism (Meanings4Fusion), which was very well accepted by the audience.
- The OpenInterface Workshop - challenges of engineering multimodal interaction: this workshop is promoted by the OpenInterface EC STREP Project, which is focused on the exploitation of multimodal applications using the OpenInterface Framework in an European level. It will be held in the Fraunhofer Institute for Applied Information Technology, Bonn, Germany.
- The EICS'09 doctoral consortium: this doctoral consortium is more relevant because it is in a conference sponsored by ACM, which has an international visibility. I received the notification of acceptance this morning, which is indeed a good reason to celebrate. It will be held in the Carnegie Mellon University, Pittsburgh, USA. This is the second great reason of happiness because it's a great honor to visit such a renowned institution.
- The basis of a new project accepted in eNTERFACE'09: we submitted a project to the next edition of the eNTERFACE that is actually a continuation of the previous one. This time we are going to prepare a scenario and collect data with the help of eNTERFACE's attendees. The result of the data analysis will validate our fusion mechanism in a variety of new situations, increasing its robustness.
- Part of a special session in ICMI-MLMI 2009: at last the greatest result. This conference is sponsored at the same time by ACM and IEEE, which means a great achievement and recognition of this work. This session is focused on multimodal fusion engines and will put together important researchers in this domain to discuss different approaches of multimodal fusion on the direction of a theoretical definition and validation.
Wow! All these results in less than one year! Of course this is the work of a team and I have to thank Prof. Benoit Macq for his support, Olga Vybornova for our efficient collaborative work, Lionel Lawson for the technological basis, all members of the eNTERFACE'08 project and also Kênia for her unconditional support and love.
By the way, there is no other explanation to such great achievements, but LOVE! Everything you do with love becomes unbelievably possible! I don't call it dream because dream is part of the future and love is 100% present.
Saturday, April 4, 2009
Kicking the Bucket ?

I admit that I was about "to go bananas" many times during the last months and the great lesson I have learned was to be able to stop this feeling every time it came out. Nothing would be so valuable for a person than the ability to never give up and keep running even with waves of negative facts around, trying to convince me about the poor perspectives for the future. You most be curious at this stage. Summarizing my heavy journey:
- business plan: I wrote a business plan of an European Association to manage an open source framework. You don't know how hard is to prove the sustainability of a business, grounded on an open source software. I've learned a lot about how services are important for this kind of business.
- cost benefit analysis: This cost benefit analysis was even harder than the business plan because of the qualitative and quantitative aspects of the framework. The quantitative data was very hard to define, since a multimodal framework is not easy to find out there to provide comparative data and show the advantages of our framework. It is also on the border line of the state of the art, which reduces a lot the changes to find a competitor.
- exploitation plan: I started this document without even knowing precisely what the hell is an exploitation plan. I initially thought that this is the structure of an organization that will manage the framework, but I was completely wrong. I was obliged to make an extensive research out of my field to figure out what kind of content should be present in an exploitation plan. Hopefully I found good orientations on the web and I could explain how to increase the visibility of the framework, and consequently, the number of adopters and investors.
- 2 doctoral consortium submissions: In parallel, trying to do some work on my own research, I wrote and submitted my thesis to two doctoral consortia, one in Belgium, which was accepted and presented already, and another one next Summer in Pittsburgh, USA. I'm still waiting for the result of the second one, always optimist ;) !
- a final report of a national project: the project that has paid my salary since I arrived here until my last seconds of 2008 and doesn't have anything to do with those documents described before, has finished at last. So, I had to write the final report about all contributions we produced so far, in the middle of a battle with the other documents.
- Writing an European project proposal: this one was the most challenging of all the other previous documents. It demanded more than just text, but strategic abilities. Led by my adviser and co-managed my colleague and me, we made a careful selection of good partners strategically spread throughout the whole Europe Union, with complementarity of competences and interests, considering academic and industrial representatives with potential to produce high impacting results. My main role was to define the whole budget, the schedule, the work plan and coordinate the technological part of the proposal while my colleague took care of the scientific part, the consistency of the whole proposal and for pushing all partners to collaborate.
I've been busy with these things out of my goals, but I don't regret at all because each of them contributed somehow to make me a better person, a better professional, not exactly a better researcher, but this is something that I'm focusing on again now.
Well, I installed an anti-kicking device on my bucket to simplify my self-control as you can see below. From now on I can kick the bucket without any bad consequence. It will just sliiiiiide...
