Friday, December 31, 2010
Welcome 2011 !!!
Many thanks to everyone who have guided me, been with me during all ups and downs in the year 2010...
It's time to welcome the new year 2011 !!!
It's going to be a year with new great challenges...
Thursday, October 21, 2010
Friday, October 8, 2010
Create your IRC Channel and make the logs publicly available
/msg ChanServ info #channelname
-ChanServ- The channel [#channelname] is not registered
/join #channelname
/msg ChanServ register #channelname
!register <desired-username> <email>
!confirm <confirmation-code>
!keep <username>
$ ssh server1.bshellz.net -l <username>
screenirssi/set autolog ON/save/connect irc.freenode.net/join #channel
screen -rAadthen/set autolog_path ~/public_html/$tag/$0.logand then/save
screen -rAad/reloadthen Ctrl+A ,D.
You can access the logs via the following url
chmod a+x freenode
chmod a+r freenode
cd freenode
chmod a+r #channel.log
!keep <username>weekly at #bshellz.
Friday, August 20, 2010
Happy Moments...
Sunday, August 15, 2010
Reaching the Final Evaluations of Google Summer of Code 2010
Thursday, August 5, 2010
Leveraging the new features in GXT (Ext GWT) 2.2 Beta...
Tuesday, July 20, 2010
More UI Enhancements to the Flowsheet module
- Create the model class extending BaseModel class
- Have required constructors, getters and setters in the sub class of BaseModel class
- It is always ideal to have a primary key fields, so that a specific entry of data can be retrieved easily
- Create the ListStore or GroupStore objects with the type of the BaseModel class
- Subclassing BaseModel class
class ObsDataModel extends BaseModel {
public ObsDataModel(String date, String time, String value) {
set("obsDate", date);
set("obsTime", time);
set("obsValue", value);
}
public ObsDataModel(String date, String value) {
set("obsDate", date);
set("obsValue", value);
}
String getObsDate() {
return (String) get("obsDate");
}
String getObsTime() {
return (String) get("obsTime");
}
String getObsValue() {
return (String) get("obsValue");
}
}
- Creating GroupStore
GroupingStore store = new GroupingStore();
store.groupBy("obsDate");
store.sort("obsDate", SortDir.DESC);
sotre.add(new ObsDataModel("xxx","xxx","xxx"));
- Creating the Columns for the Grid
Listcol = new ArrayList ();
ColumnConfig column = new ColumnConfig();
column.setId("obsDate");
column.setHeader("Date of Observation");
column.setWidth(200);
col.add(column);
- Creating the ColumnModel and Grouping view
ColumnModel cm = new ColumnModel(col);
GroupingView view = new GroupingView();
- Creating the Grid and and setting view
GridThe screenshots below shows the new look to the UI. ( I have upgraded to the branch 1.7.x)grid = new Grid (store, cm);
grid.setBorders(true);
grid.setStripeRows(true);
grid.getView().setForceFit(true);
GridSelectionModelgsm = grid.getSelectionModel();
gsm.setSelectionMode(SelectionMode.SINGLE);
grid.setView(view);
No of rows | Time delay for data transfer | Delay for rendering |
---|---|---|
240 | 1310ms | 42ms |
130 | 999ms | 24ms |
93 | 640ms | 20ms |
80 | 883ms | 19ms |
60 | 496ms | 12ms |
Friday, July 16, 2010
Getting through the Mid-term Evaluations...
Monday, July 12, 2010
Reaching the Mid-Term of the Summer
Tuesday, July 6, 2010
Creating a Date-range double slider
Thursday, July 1, 2010
New Look to Flowsheet Module UI
Monday, June 21, 2010
Fourth Week of Coding - Date Range Filtering
Sunday, June 13, 2010
Third week of Coding - Modeling the Transfer Objects
Sunday, June 6, 2010
GWT Integration to the Flowsheet Module
http://localhost:8080/openmrs/moduleResources/flowsheet/generated-folder/moduleServlet/flowsheet/flowsheetService. To avoid that, the location ../../../moduleServlet/flowsheet/flowsheetService is used. This will end up in the correct location of the service :
http://localhost:8080/openmrs/moduleServlet/flowsheet/flowsheetService
Monday, May 31, 2010
Started the New Journey - First Week of Coding
I created a new module using the OpenMRS Eclipse studio, modified the configurations and started working on getting the tab available in the patient dashboard. After some amount of time looking at other module's code and module wiki I managed to find how to do that task. I created a class inside the package org.openmrs.module.flowsheet.extension.html named FlowsheetTabExt which extends the class PatientDashboardTabExt. I got a new tab called "Flowsheet" available on the patient dashboard. I informed Sy about it and Sy asked me to check in the code to the svn. I did my first commit on Monday it self to the svn location http://svn.openmrs.org/openmrs-modules/flowsheet/.
Even though we decided to GWT, for the purpose of getting the idea about retrieving patient data, I worked on to get the patient history printed on the jsp page of the module. It was just a throw-away work to get knowing the stuff. I managed to list all the obs of a patient in reverse chronological order in a jsp page. The figure below, shows the output I got.
Next, I worked on integrating a simple GWT UI under the Flowsheet tab of the patient dashboard. I referred the existing Xforms module code which uses GWT. I created a separate GWT project, compiled the code and copied the generated folder to module/resources. Then I used the generated javascript by a call in the jsp page. The figure below shows the output I got.
The first week of coding was lot of new experience... I felt that I am learning something new and was very happy... Expecting this fun will continue through out the summer...
Thursday, May 27, 2010
Chrome Extensions for web development
Sunday, May 23, 2010
Getting ready towards a new journey...
Saturday, May 22, 2010
Monday, May 10, 2010
Write Code! Save Lives!
Thursday, April 29, 2010
CSE Symposium 2010
Tuesday, April 27, 2010
The Great Day!!! - GSoC 2010 Announcement Day
Actually I submitted five proposals( I am not crazy :) the maximum was 20) for two different organizations as follows:
OpenMRS :
(1) Longitudinal Data Review (Discrete Data Flowsheet) Module
(2) Approximate Date Support
Apache Software Foundation:
(1) Implement Groups Support to Apache Shindig
(2) Simple Social Networking for Roller blog server
I got some clue when both the organizations found the duplicates and asked for my preferences :D But it was not sure until the results are announced. I gave my preference to OpenMRS project (1)
I was eagerly waiting for 19:00 UTC ( 12:30AM in my time zone). But about 10 minutes before that time, saw someone saying that they got mail from Google in the #gsoc channel. I refreshed my inbox and the surprise was there :D
I received a mail from Google congratualting me for getting accepeted for GSoC 2010. My proposal for Longitudinal Data Review (Discrete Data Flowsheet) Module project of OpenMRS got accpeted. I was lucky enough to get my first choice among the five proposals :)
Confirmed my acceptance after seeing the OpenMRS-GSoC2010 page. I couldn't access the Google's results annoucement page easily... refreshed many times before got the page loaded... Confirmed my name there too :) I got four more mails from Google saying that my proposal(s) were not selected (5-1=4 :) )
I got many good news from my friends of CSE'07 (my Uni batchmates). As we counted up to now, there are 12 got selected from CSE '07, 10 from CSE '06, 1 from ENTC '07 and 3 from IT faculty. Altogether the cout goes to 26+ from University of Moratuwa, Sri Lanka :) another successive record I believe!
I am so happy that CSE '07 gave the highest contribution to this count :)
Following of my batchmates got selected ( possilbly some more):
Kasun Gajasinghe
Nirmal Fernando
Sanjaya Liyanage
Thilanka Kaushalya
Suhothayan
Ishan Jayawardene
Shelan Perera
Kasun Lakpriya
Eshan Sudharaka
Meharuban
Keheliya Gallaba
Congtrats to all of you and rest of those from UoM. Good Luck to get through it :)
I have a long list to convey my thanks :)
In short I would like to thank every staff from the department of CSE, all my friends and senior students, members of the project communities, mentors and especially those who inspired my career in this field :)
Thank you all for your support!
There are some of my friends who couldn't get through this time even though they tried hard. Friends! cheer up! You have one more time to prove! Continue working with your interesting projects and get ready for GSoC 2011 from now onwards :)
Praying the God to guide us to complete the project successfully.
Monday, April 26, 2010
Solution: Couldn't access WAMPServer via http://localhost/
Wednesday, March 31, 2010
Google Guice
Guice model can be used for such similar requirements.
Here is presenation by Google:
More details can be found at: http://code.google.com/p/google-guice/
SmartECards - A Joomla! Component
This e-cards component is created for for Joomla! 1.5 series. This 1.5 series version of Joomla! support the MVC approach creating components. MVC stands for Model-View-Controller which is a well know design pattern when it comes to web development.
Actually Jooma! components are packed as a zip file which is installed from the admin console. We have to create the model, view and controller for the component and add an XML manifest file which tells about the component and how it should be installed etc. This is the standard way of installing a Joomla! components.
Click on the insert tab and fill it as shown below.
name : SmartECards
link : com_smartecards
admin_menu_link: option=com_smartecards
option: com_smartecards
Keep the other fields with their default values.
When you click “Go”, the entry will be created.
Now if you go to the Joomla! administrator’s page (
When you click on this, you will get a 404 error message. This is because we haven’t written the code to appear when it is clicked. If you have reached this place, everything is fine up to this point.
Relax a bit :)
I will continue from here in my next post.