Sunday, September 7, 2008

The Journey Continues ...

Google Summer of code 2008 is come close to a finish. But I would feel I just started my journey through the Open Source path. I believe the true value of summer of code for a student is neither the project nor the money, but getting engaged with the open source community for coming years. Its a pleasure to work with the vibrant OpenMRS community and I hope to be with them in the future.

For those who are wondering, why I still don't announce an official release of my module - its because there is still some work in progress which I believe necessary before doing a release. Currently in svn there is a working copy of note editor and anyone can try that. But before announcing about the project myself, I want to add the note type functionality using concept sets. Another point is that at last I have settled to use Fck Editor instead of Tiny MCE as it provides build in file/image upload subsystem and more options.

You can check back the current status of patient notes module - here in this blog, in the wiki page.

Saturday, July 19, 2008

At the starting week of second phase: Patient Note Writer

I have bit sloppy in blogging in the first term of SOC. Hope this won't happen for the 2nd term and wish to write at least once for each week. Now I am mainly doing two things - working on writing a complex Obs handler for rich text. Secondly studying on Hibernate and javascript (I found some lacking of mine here). I couldn't make work the image upload thing in rich text editors. And after discussion with Andreas, I am only concentrating on rich texts now without image of any file upload. I have also updated the project wiki page with more or less these corresponding information.

I have planned to attend the Google SOC meet up at Google Bangalore office, Sri is also excited by knowing about my plan. But I am very sad that It seems I would not able to make it. I have to travel from Bangladesh to India for the meet up and the meet up date (28th July) is between the chunk of my two exam date (26th July and 30th July). As I thought to travel cheaply (by train), so it would take more than two days to reach Bangalore from Dhaka. I really wanted the India trip and sad that I missed it. So I decided to give a trip to India may be in August or just after the SOC ends.

Monday, June 2, 2008

First Week of GSOC

I didn't do much coding in first week. Rather it went after discussion of the exact requirement of Patient notes module which will result from my project. I tried to create an wiki page, which will be completed as per my project progress forward.

My module codes will reside here . Now I am trying to build an experimental module with the goals (given by my mentor Andreas) - add a tab to the patientDashboardForm.jsp (using
the extension point) which says something like 'Hello from '. Add a table indexed to patient id which has custom messages from each patient, so the display text could
change to ' says, '. Then adding an edit page for this message.

Thursday, May 1, 2008

Me, Google Summer of Code 2008 and OpenMRS














I have been accepted in Google Summer of Code 2008 program for working in a project of OpenMRS. This summer I will be working to create a Patient Note Writer module which will allow to add rich text observations in appropriate places/pages of the OpenMRS application. OpenMRS is an open source medical record system framework for developing countries. Its always nice to get accepted in programs like summer of code and its more nice to work for an Organization with a great cause. Another coincidence is that by profession I also work in software development related to the health care domain. So I am expecting an exciting summer with OpenMRS. I am also hoping to see OpenMRS deployed in Bangladesh in the future.

Monday, September 24, 2007

Writing JIRA Plugin

After taking a long leave for my M.Sc. exams, I had to come back to office for one week in halfway of my leave. The reason was to extend the leave by one week at the end as two of my exams were postponed. Returning to the office, I found that I lost my seat, my CPU was in the kitchen and my monitor was used by a newcomer. With the kind help of all, I placed my one week post at a corner in the midst of the testing team. (That was not a bad place at all, except the daily scrum of testing team when I felt so much in a 'wrong place').

In that time Mehrin apu was kind enough :) to assign me a work and that was writing a JIRA plugin to affect the parent task's remaining estimate and time spent fields when corresponding fields of subtasks got updated. I did the initial setup and learning task that week. And after finally returning from leave and after the hustle bustle of voter ID project, I finally completed developing the plugin. In subtask type issues, remaining estimate and time spent can be get updated via two ways - either by 'log work done' or by 'edit' issue. JIRA has a powerful and flexible extension mechanism. All I needed to do is to catch an ISSUE_WORKLOGGED or ISSUE_UPDATE type event and update the corresponding fields of parent task according to the subtask values. Actually a listener class (listeners are custom classes which are called when any specific event occur in JIRA, custom listeners can be registered via JIRA administration panel) would suffice for this, but I wrote it in a plugin style for convenience (after all when there exists a nice JIRA plugin development kit and Maven-Atlassian-Idea plugin to setup the plugin project in our so familiar Idea IDE.) For using the JIRA plugin devlopment kit you just need to have JDK and Apache Maven.

As I said, extending JIRA is easy and I want to share some links if anyone is interested in extending JIRA in the future:

Note: Don't forget to see the comments at the bottom of the JIRA confluence pages, you will always find there some solution of your deployment or setup problems to develop a plugin.

Dobule Vs. BigDecimal - Some Pointers

Few days ago I read some articles, discussions about Double, BigDecimal, floating-point standard and working with money in Java. Here is few links which I want to share -

  1. Working with Money in Java - This tutorial explains why we shouldn't use double in monetary calculation.
  2. Fixed, Floating, and Exact Computation with Java's Bigdecimal - A more technical discussion of BigDecimal. To be honest I couldn't understand every point of this article.
  3. Some Things You Should Know About Floating-point Arithmetic, Performing Exact Calculations With Floating-Point Numbers - Java Tech Tips from Sun.
  4. Difference between BigDecimal and Double? - A java forum post.
  5. What Every Computer Scientist Should Know About Floating-Point Arithmetic, How Java's Floating Point Hurts Everyone Everywhere - These two classic but lengthy documents are purely technical. I'm Still to read these (or may be I'm not brave enough to read these).

Monday, May 28, 2007

MGV Paper Got Accepted

Its nice to know from Haider Sir that the paper we (me, Sami and Swati) sent more than a year ago to Machine Graphics and Vision Journal (published by the Ploish Academy of Science). It was based on our final year B.Sc. project work or morphological face detection.