Friday, January 11, 2008

FBI is in to real Terrorism

Today when I visit defence.lk (Website for Sri Lankans Defence information) to find the news of the latest bomb attack in Colombo Sri Lanka, I found out this good news.

Here FBI has given the right place for the LTTE terrorists. Although they have short listed some of the infamous terrorist acts by the LTTE, there are many more ..

Today the bomb was at the railway station at Colombo Fort. Although comparatively it is a very small one, this is the 5th incident (including shootings and huge blastings) reported in the first 11 days in Colombo of the brand new year 2008. And this is the most close incident to me, as I was at the Colombo fort, few hours before the explosion.

Interoperability of WSO2 WSF/PHP

Interoperability is a very much highly mentioned feature when we talk about Webservice Framework for PHP. It s proven to be inter-operable with Not only WSO2 WSF/C, WSF/Ruby or WSAS, but also with Microsoft WSF and Sun J2EE in case of MTOM, WS-Security and WS-Reliable Messaging support.

It is no doubt interoperability is a must feature for a Webservice Framework. Because the idea of the webservices itself is to provide a medium to communicate between heterogeneous environments, So whenever you want to host a web service make sure it can be accessed from a client from any environment. In that case WSF/PHP have released PHP developers from these concerns by providing the interoperability from the framework itself.

Monday, January 07, 2008

Blog for PHP Webservices

Recently WSO2 WSF/PHP developers started a blog for PHP Webservices. And I managed to post my first blog (about 'The Best Practices of using WSClient') today:)

In addition to the PHP Webservices blog, there are blogs about C Webservices and Ruby Webservices as well.

Hope these will be a great resource for developers who are hunting web services knowledge no matter what programming language they are mastered in.

Sunday, January 06, 2008

Comming Back to Blogspot

So after spending few months with blogging in wordpress,(dimuthuc.wordpress.com), I decided to come back to the Blogspot.
It s simply because
1. My Blogspot blog has better Google PageRank.
2. Wordpress is really nice, but it is too inflexible, just it doesn't give us to edit the html of templates, How can we put Google Ads later on.
3. I can collect Blog view statistics with Google Analytics, the major reason I tied up with wordpress.
4. I hope I can find some time to make a good Blogspot template.

Anyway I may again jump to wordpress or somewhere else, If I feel that is greater than this.. But I am sure I will be spending most of the time here in next couple of months..

Thursday, October 18, 2007

Moving Away

I'm moving my blog to wordpress, http://dimuthuc.wordpress.com. Well, I m not regular blogger, But still in the determination of blogging more. May be I can do some good work in the new environment.
Bye!!

Friday, September 14, 2007

First Few Days at my First Job

So I went back to the place where I was doing my internship, well with the title of software engineer, big promotion. Within just 1 year of time It has changed a lot. But It is still there the very familiar and most importantly very friendly faces that I was used to see.

My first assignment is to write samples, demos, POCs for their php web services extension. And It is really interesting. And I am hopefully looking for touch some c code in next few weeks.

Hoping to spend some more time in blogging as well.

Thursday, April 19, 2007

JAVAScript is difficult..

Yesterday I had an opportunity to have a chat with Dr. Sanjiva Weerawarne. Once I told I feel 'working with javascript is more difficult' than 'working with C/C++/java' he seems not much convinced.
Well my reasons were..

1. Javascript is still difficult to debug. Even though there are great plug-ins like firebug which support Javascript developer very much, javascripting is still difficult to debug. I feel its better put 'alert's in most of the cases.
2. You have to take decision which part should be kept in server or client.
3. Javascripts more than 1000 lines of codes doesn't mean any thing, as it eat 30/40kbs bandwidth. so client should be kept thin.

In addition to them, there are some reasons to prove why javascript is really tough.

1. Browser dependency..
C programmers may tell it is normal;). They work with machine dependent or OS dependent stuff. Actually javascript not much different from browser to browser if you only use only the basic functionality. But the browser independence come into the action sometimes in very minor cases.
for an example: if you type
div1 = document.getElementById('div1');
instead of
var div1 = document.getElementById('div1');
//note the starting 'var' keyword

It works on Mozilla, but in IE it don't work. But if you use javascript variables not declared with 'var' in other situations, it works nicely.

So when you write a big javascirpt work nicely in mozilla and you realize it dont work in IE which dont have a good debugger, It takes a while to realize that the error is due to such a small mistake or a misunderstanding:).

2. To be a javascript expert you need to be expert on HTML, CSS and most probably in PHP or some other server side language as well.

3. Javascript should have functions to do drawing at the canvas like drawLine(x,y) drawRectangle(x,y,width,height). That is the main difference you feel in javascript if you just come from Java/ C++ GUI developing. Javascript have some handy ways to draw lines using some DOM manipulations but not many people are stupid to use that to do a simple drawing.

Although I complain a lot about Javascript, It is a great language. I'm still a beginner, I hope I will feel comfortable with it as time goes on. This hope itself is some months old. But I'm still suffering.:(

Thursday, March 08, 2007

My Home Page

Today I upload my home page to www.cse.mrt.ac.lk/~dimuthu people.apache.org/~dimuthu
It is a template from http://www.oswd.org. It is a really cool template.

Wednesday, March 07, 2007

Back to SEMF design

Our co-supervisor is asking us the design of the project SEMF. So it is time to brief our design to a simple mail.


We select our project name as Sport Event Management Framework (SEMF). Our ultimate goal is to build a system that help an administrator to design a whole system in quick time.

Our framework consists of following features

1. Design environment to customize components and use them in a web page.

We present a development environment (SEMF Designer) that will give higher level GUI to design the database + the web interface with customizable components

These components mainly compose the final view of the web page
Example of some components
1. Grids
- Set the layout of a web page
2. Menu / Sidebar / Site Map
- Used to navigate the web site
3. Calender
- Show the current data. Can be used to synchronize the whole page.
4. Data grids/ Data tables/ Data sheets
- Present the data of the system
5. Forums

There are special components which are not directly connect to the view of the page
Examples
1. Printing Components
- Used to print reports
2. Web service components
- Expose data as web services


This is very similar to the approach of Portlet[http://en.wikipedia.org/wiki/Portlets]. But for efficiency and flexibility we are developing a separate 'Portlet Engine' with our project. Visit here for more details. [http://semf-cse.blogspot.com/2007/02/semf-portlet.html]

2. Modularize Approach

Our framework allow to define modules related to the event. For an example Sport Event Management System can have following models
  • Accreditation
  • Playground
  • Schedule
  • Accommodation
  • Transportation
3. Sample modules and Components

With components and modules SEMF is able to provide different levels of customizability. The Administrator of the system can use existing modules/components and customize as required or build its own components/modules according to the requirement.


Current Status of the project

We have started the development in two phases.

1. Developing the SEMF designer

2. Developing a final system manually (without using SEMF designer)


Technologies Used/Using

PHP, AJAX, Javascript, DHTML



Wednesday, February 07, 2007

Quick Blog

So today we upload the first version of the web site of our final year project to the university Moodle. Same time I created a blog for our project as well and posted some blogs that I have posted here. http://semf-cse.blogspot.com

Monday, January 29, 2007

Architecture for SEMF

SEMF ( Sport Event Management Framework) My final year project is hoped to back to active after the exam. Anyway it is in a state which should be start right from the beginning. We spend the last semester waisting time on finding projects, and ultimately selected this one - SEMF which I think is a failure in my point of view. Anyway now we select the stuff, we have to do it.

The problem of the SEMF is its simplicity. It seems kind of too simple for a final year project. What can we do is, do it in the hardest way which may sometime not work at all.

So we are searching for a harder architecture to implement which is highly flexible, highly integrable, and with many great things.. So I suggested one.

We are providing interfaces to define tables and views.

In defining tables it is allowed to do all the operations from creating tables to inherit tables from a graphical interfaces. It may not ultimately be the normalized database. But the final system should work with that funny database.

Then the hardest part defining views. (We would do this only we could finish defining tables part:(. ) We have to give the views with all the links, menus, tabs. And most importantly these all should be able to define using a graphical interface.

One way of doing this is following what portlet does. But the thing I was unable to find how they work with database. So our system should provide little windows like portlets to provide different views. But with some greater interaction with databases.

The features set I am thinking of providing is like this.

1. Different User level would have different interfaces. At the runtime some users may need to change their privileges. So system should be able to extend their accesses with the admission of a higher privilege one.
e.g.
Players - At the front interfaces players see the events information they are playing.for. The event information may include the competitors status, playground information.
Playground Staff - See Event playing in that particular day, weather status around the ground
Publics - The general view of the public.

(As far as I see this is the main feature, but it would be thing that maximize the complexity of the architecture. Eliminating this feature we can reduce the complexity more than half)

2. The interfaces would highlight the events according to the time.
e.g.
Relevant Players, Playground Staff, Administrators would be highlighted the events happing on the particular day.
Administrators would be able to handle different stages of organizing the event like register by number stage, register by name stage. This can be defined while defining views.

3. Interfaces in printing reports, defining forums, and announcements

Well there are some other features like web services interfaces for registered media and similar things. But I think it need not be considered in the first phase of the architecture.

I have today and tomorrow. I should do whatever I can do to come up with an architecture. The Architecture of the lifetime...

Saturday, January 13, 2007

In midway of the exam

After completing 5 papers and still 3 to go, I m completely out of feelings. So nothing new to write other than the parotized 'pps' slides of the lectures.

Anyway while studying the security subject for the exam ( well, not until exam), I decided to write simple program ( a little chat program) using open SSL libraries. It may be the best way I can have a good idea on secure communication. Anyway most of theories are inside the shell of the libraries so it may just a mechanical code but still worth to try.

http://www-128.ibm.com/developerworks/linux/library/l-openssl.html seems to be a good place to start.

Thursday, December 28, 2006

Consecutive blog

Yesterday I post a reply to the axis2 c mailing list for a complain about handling element order in the generated code. He was able to come over a solution by changing the parse_om function manually. Well actually parse_om function doesn't do any order handling at all.

I track order just for identify unordered element set (like elements defined inside 'all' tags) rather than identifying ordered thing ( which are within 'sequence' tags). Because ordered set inheritely cause no problem, since we always handling things the given order. But the problem comes as user try to parse an xml with an unordered element set. The code should be able to handle these situation. So I write a big xslt code to handle such a situation only in the build_om function which will care of converting any xml to the schema object set.

So I can't think of a situation where tracking the order of the elements is important inside the parse_om function. Even if it is implemented, it won't be able to do many things than complaining that the elements are not in the right order, so I can't parse it.

Well parse_om and build_om are also not good names for the above functions. As I posted in the yesterday mail they are doing convert one OM to some other OMformat
build_om converts XML(axiom) --> schema type objects
parse_om converts schema type objects-> XML(axiom)
I may have to replace these functions very soon (at least their names for now).

Wednesday, December 27, 2006

Back Again

Wow, it is nice to be back again. It is better late than never;)
Well when I last blog it was only few weeks in the training place. Now I m back again at studying, most specifically i m on the exam season. So its wonder i still have some rest time enjoy blogging. So at the end of the year if i recall what i have done, and most importantly what i have achieved, it is huge. So at the end it is a wonderful year.

Starting form the work done on training place, I could at least release the firefox extension i created there, in a working condition both for windows and linux. And then I was able to do a project form GSOC, code generator for apache axis2/c and commit it to the project svn. For that work i was elected as a committer for ws projects in apache. Well they reported lot of bugs in my code:( Back in the university i struggled on finding a good project for the final year. Finally it was a php application which we named as Sport Event Management Framework. Still I am not feeling well with this project, but i may find some way to handle this.

It is a mix of all, But they will not going to waist. It is a good experience at the end.
So I am starting the new year which I m most probably graduated, with a cool mind. I hope I would be able to do some more works in the brand new year, well at least some more blogging.:)

Wednesday, March 01, 2006

The second blogging

I never thought i have a time to write something in blog. but wat else I can do. The code is compiling fine. but when i run it it generate errors. and Its happen due to linking . i waist half of this week to find the solution. but it is never close. So i decide have a rest. And this is a very nice blog. Hope I can have a one in my own page.
Hope i can recover somewhere before i go boarding.

Monday, February 27, 2006

First Bloggin

I m here starting a blog. but i m not sure whether i am going to continue. And i m afraid that people going to visit my blog. it is better i would write a diary instead.
ok just see