Wednesday, September 16, 2009

Writing research papers (Last minute check list)

 As researchers, we always have to keep in mind few important common checks that we verify while writing the research papers. I am listing few of my important findings here for researchers new to this field. I must start with the reference to the most useful link I found from Prof. Dr. Felix Nauman from Hasso-Plattner-Institut für Softwaresystemtechnik. The link is as follows:


http://www.hpi.uni-potsdam.de/naumann/mitarbeiter/felix_naumann/writing


He listed few important checks for research papers. I am getting benefit from this link on my every research paper. Now I list few of my personal experiences below:


    * Make sure you use et al. for only more then 2 authors paper
    * Term are abbreviated only on their first usage
    * Check for confused words

          o Then (Time), than (Comparison)
          o There (location, condition, situation), Their (possession)
          o etc.

    * Make sure first character is Capital for important terms like Information Systems
    * Check section numbering
    * Make sure all figures caption are sentence case
    * Make sure web links are working correctly (Beware of special characters)
    * Check bibtex for consistency

          o Use software’s like JabRef for managing bibtex

    * Proof read the text for articles

For any research paper, we should be able to answer following question:


(1) what is the general problem (area)?

(2) Why is it important?

(3) What specific problem (in the general area) are you working on?

(4) Why is its solution important?

(5) Why does solving the specific problem worthy of?


I got these questions from my colleague Sven, and he got them from one of his supervisors. I liked them and I try to answer them for each of my research deliverable.

Beware of silent array out of bound

I often face the problem of memory over-write. This problem occurs when i program with pressure of deadline, however this problem consumes much more time to diagnose. While working with my last code fragment i wasted many minutes just to figure out what is happening. I worked with a structure as follows:

#define TREEBLOCKWIDTH 2

struct inode{   
public:
    int keys[TREEBLOCKWIDTH];
    int refnodeids[TREEBLOCKWIDTH + 1];
    char* refnodenames[TREEBLOCKWIDTH + 1];
    unsigned int elements;
    bool isleaf;
};

Now in my code i come to know that i am updating a value in keys and the value is also changing in refnodeids. Now we look inside. The values in memory are as follows:

keys[0] keys[1] refnodeids[0] refnodeids[1] refnodenames[0] refnodenames[1] refnodenames[2] elements isleaf

Now try to access keys[2] and check what happens. Index 2 is out of bound for array keys, but C++ compiler will not complain for this, instead it will give you the value of refnodeids[0]. I like to call it silent array index out of bound because we are using the wrong index still code will execute and will make problem later on if left undiagnosed.

Tuesday, September 8, 2009

Attending DEXA 2009

Last week I was at Johannes Kepler University, Linz, Austria attending DEXA 2009 conference. I personally accepted this event as my first exposure to relatively well ranked conference. My expectations were quite high. My reported experiences here are my personal views and there is a huge possibility people might have different opinions.

DEXA as an event is really a large event with many researchers from diversified fields and cultures. Good thing was that I found a variety of talks and presentations to select from. Overall it was a well managed event.

Quality of research papers was really good but I will not say excellent. Attending audience in sessions was decreasing over day with too few people at the last day. So always wish for presentation in starting two days of conference to get good feedback.

The most painful experience for me was the session with missing presenters. Every conference event asks presenters to inform in advance about their attendance. It was really sad to observe the researchers having time slot for their presentations and not appear for it. I hope for better attitude from researchers towards informing about their absence in advance.

Invited talks were really interesting. Talks from Johann Eder, University of Klagenfurt, Austria "Data Management for Federated Biobanks" and Abdelkader Hameurlain, Paul Sabatier University, Toulouse, France "Evolution of Query Optimization Methods: from Centralized Database Systems to Data Grid Systems" were really nice. In all invited talks I was expecting the key note speakers to share their experiences. The lessons they learned that we don't find in books or on internet. However, most of the content was quite normal technical details.

I am quite a normal presenter but I only liked 10% of presentation in terms of the way they were presented. Too few speakers were able to take audience with them in flow. Most of the presenters dived into the ocean of technicalities leaving the audience to sink into it without proper equipment. I am not a good audience but I was only able to understand presentation with my technical background on those topics. Otherwise, I was unable to grasp the high level details of contributions from many presentations. The most interesting session for me was from DaWak 2009 with Jan Chmiel presenting HOBI: Hierarchically Organized Bitmap Index for Indexing Dimensional Data and Goetz Graefe presenting Fast loads and fast queries. These two were the best presentations of the event for me. Few more names are also their but I don't want to list them all here. The highest contribution was in the area of XML databases, I don't remember the count but it was the highest.

Overall DEXA was a really good conference but missing the touch to be called the excellent one.