Saturday, August 8, 2009

Summer of Codes - Wrapping up

Google Summer of Codes 2009 is reaching its finishing touches. I should thank Google for organizing the event and Abiword for mentoring me. 'Porting Abiword for windows to Unicode', is my project. My focus was, in simpler terms, to provide an Arabic [Unicode] Abiword in Windows. I mean, my testing language was Arabic, thanks to the fact, it is good for the testing of BIDI text.

My mentor dom, the administrator hub, cross-building robsta, the MSVC abicollab and Abiword releases uwog, Windows maintainer sum1, ryanp with documentation and plugins, and msevior... I have to thank these developers for the support they were providing to me and the other participants. A wonderful job, they are doing, at Abiword. By providing a friendly, yet challenging learning environment, Abiword enables us extending our commitment to Abiword.

The Abiword development will not complete with this GSoC - All the successful Abiword students will continue being Abiword Commitors. The next mile stone release 2.8 is the major focus now. Later the SoC codes will be merged from trunk and further modifications will be done. Finally before the merge to the trunk, a merge from trunk to the branch will happen once more to our SoC branches.

It should however be noted, we all prefer not Windows, but FOSS Operating systems (or more specifically, Linux). As a 'cute' word processor, Abiword runs everywhere, literally. So we still feel free to develop for Windows and Mac, when it comes for Abiword. FOSS will rule the world.

"Abiword -- It's cute."

Thursday, August 6, 2009

Design Constraints : Mooshabaya

August 6th [WSO2/Denis, Pradeeban, and Supun] : Discussion on the design constraints of Mooshabaya : [10 a.m - 11 a.m]
Security: MyProxy is currently used in XBaya. WSO2 Identity Server will be used in Mooshabaya, where OpenID will be provided to ensure the security. Users from Registry will be initially added, where in the later stage of the development, WSO2 identity server will be merged with WSO2 Registry to provide users with secure access.

XSUL: Currently the Jython Scripts and possibly the other code segments depend on XSUL libraries. Since XSUL is obsolete and substituted with its better alternative Axis2, we will consider adding the Axis2 libs and avoid XSUL code segments in the coding. Later we will consider removing the XSUL dependencies altogether from the Mooshabaya code base.

GFac: Gfac is used, as when it is used to host the descriptive language script (similar to wsdl, but with the business logic and further data, possibly), the services can be used, even without running them. This will reduce the overhead of running each of the service, otherwise. This GFac integration scenario into XBaya also will be considered on a later stage of development.

Operating System: XBaya runs on windows, Linux, and Unix variants, while some other Extreme! Labs components run only in Linux and Unix variants. Mooshabaya will [hopefully] run in Windows, Linux, and Unix environments.

The current interface which has two implementations which are used to export the workflows as Jython Scripts and BPEL. Initially we will implement the Mashup Generator parallel to these two implementation, where finally the Mashup Generator code will be used to depict the workflows, in Mooshabaya.


These meeting entries are also listed here, in Moodle.

Supervised By:
Mrs. Vishaka Nanayakkara
Dr. Srinath Perera
Dr. Sanjiva Weerawarana

Group Members:
De Alwis, K.D.B.C. 060081B
Malinga, A.S. 060286H
Pradeeban, K. 060372T
Weerasiri, W.A.D.D. 060527B

The evolution of Mooshabaya

Mooshabaya is a Mashup generator for XBaya workflow composer of Indiana University. Mooshabaya is implemented by a team of four, and Mentored by Dr. Srinath Perera and Dr.Sanjiva Weerawarana of WSO2 Inc. As the team members we have had several online chats and informal meetings with our mentors. This post will mention only the formal meetings we had regarding the project.

May 22nd [WSO2/Dr.Srinath/All members]: Initiating The Idea : [10 a.m - 11 a.m]
The team meets Dr.Srinath Perera offline. This was the first meeting we had with Dr.Srinath, regarding the project. The project idea was first developed to form to considerable level. Dr.Sanjiva Weerawarana was also present in the meeting.

We decided to implement a mashup generator for the XBaya workflow composer. Currently the workflows are exported as jython scripts or BPEL. Our project will export them as mashups, combining the mashup and workflow domains, including a considerable amount of research, hence this project has not been implemented before. The services will be found from WSO2 Registry and the generated mashups will be deployed into WSO2 Mashup server. It was mentioned that the current implementation of XBaya uses several other components from the Extreme! Labs of Indiana University, including XRegistry.


June 4th [WSO2/Dr.Sanjiva/Dr.Srinath/All members]: Combining the groups : [10 a.m - 12 p.m]
We, with the other group of 4 WSO2 interns, decided to have a merge between the groups and met Dr.Sanjiva Weerawarana and Dr.Srinath Perera. After discussing several ideas and possibilities, the project was finalized.

The other team will be developing "Scalabale and Hierarchical Tuple Spaces". We discussed a use case where our project will develop scripts which can be deployed in browser. That will become a common scenario for both the teams as the other team will have a use case to have a tuple space that runs in a browser. Hence both the teams will be a loosely coupled combined team [M2SC]. Mora Middleware for Scalable Computing (M2SC), will have two independent components those can be developed without much dependency on each other team's component.

July 17th [WSO2/Dr.Srinath/All members]: Further Discussion regarding the use cases and usability :[11 a.m - 12 p.m]
Since Mooshabaya - our project will be based on XBaya source code, we had to install and run XBaya. For XBaya to be running, we needed WS-Messenger. We have installed both WS-Messenger and XBaya. We discussed about XBaya, Messenger, and the other Extreme! Products that are involved in XBaya including XRegistry and XSUL. Discussed further about the requirements. Some basic design constraints were discussed.

July 22nd [CSE/Dr.Srinath/All members]: Discussion on XBaya and Extreme! Labs products : [9 a.m - 9.30 a.m]
We discussed the issues we faced in monitoring workflows using XBaya. After the meeting and discussion XBaya is successfully installed and configured to monitor the workflows.


Supervised By:.....................Group Members:
Mrs. Vishaka Nanayakkara.......060081B - De Alwis, K.D.B.C.
Dr. Srinath Perera................060286H - Malinga, A.S.
Dr. Sanjiva Weerawarana........060372T - Pradeeban, K.
.....................................060527B - Weerasiri, W.A.D.D.

Wednesday, August 5, 2009

[SPAM] Life is always like that

Chain letters are the letters or email that induce the recipients to forward the letter or the message to some or all of them in their contact list, which often try to convey an engineered story or spread a rumor to a huge set of audience, with or without a harmful intent. Currently printed chain letters are becoming extinct, and it is transformed into the form of email, facebook wall posts, or similar social media communication. Some chain letters contain viruses and trojans which may affect the recipients once opened or executed the downloaded attachment.

People tend to forward chain-letters without analyzing the validity of their claims. Some chain letters try to appear as a letter for a good cause, such as a mail which seeks help to identify a missing child, or alerting the public or educating them on something important and urgent. It should be noted most of these innocent appearing mail too are hoaxes.

Some email claim that they will donate a considerable amount of money to a charity for the number of recipients the mail is forwarded, which can never be true as the number of times a mail sent can't be tracked down as it is claimed. Forwarding a chain-letter without confirming its validity is a bad practice, which should be avoided at all possible means. Confirm using Snopes or Hoax-Slayer, before spreading a message, as most of the messages are listed their with their validity, whether they are genuine or just hoaxes. Also make sure to report any new hoax to those sites, to help prevent these messages spreading.

The messages that are forwarded with the tag "for each copy you forward, this baby with this dangerous disease will get 50 cents!" - No one actually bothers to trace the number of times the mail is forwarded. Why should they bother to pay 50 cents for the fact that you forwarded that shit email? It is really irritating, when we get these mails even from software professionals and undergraduates, who are smart enough to consider these facts.

A mail asking for a kidney AB+, dated back to few months back being forwarded to at least 300 people. Mere forwarding doesn't mean you have done some good job. Ask someone personally if you really care, or give yours promptly! If you are not up for the help, don't expect the recipient of your mail to be so. 

It is just wasting the online resources, bandwidth, storage and everything with that html spam with all the baby images [That baby is still in her age of 5, since 1995, seeking your divine help]. I would better suggest thinking of the alternative ways of helping the poor people, rather than forwarding emails for them. In the long run, forwarding unsolicited junk mails like this, will definitely cost more than that '50 cents'. Thank God, most of these spam mail are now listed. Before forwarding 'help this child' email, do a simple google search with the mail subject. You will get a hit with the fact that the mail information is FALSE [or TRUE, in rare occasions of chain mails]. These email hoaxes are gruesome and more than enough to spoil the receivers' mood with the false claim. Latest Email hoaxes can be found here.

HTML mails, the other irritating factor! Even for a "hi, nice to meet you" note, I usually get an HTML message with all the graphical signatures, colours, and dancing monkeys, where a simple text format is nice and appropriate. Please send ASCII mails whenever possible. Most mail groups have even banned the HTML emails. Unnecessary attachments also should be avoided. Attachments in proprietary software format should always be avoided in a FOSS environment.

Emails having the threatening message similar to "Send this mail within 15 min to 15 people, else a stray dog will bite you" becomes the highlight of all. Funny to see, still people bother to send 15 mails as demanded in the spam. Some will have this line, "Pls forward this back to me as well, else I will feel sad." The same trend continues in social media networks such as Facebook in the form of wallposts or status updates.

Sending unrelated message to a mail group, then someone will reply, "why the hell did you send this here." The sender will apologize for that serious mistake in tears. Then a flow of +1 and -1 to both the people. The initial problem is solved; the mail thread is running for months. Let's ignore the mistakes and smile more.

VirtualBox

I have installed VirtualBox OSE in my Ubuntu Jaunty and installed Windows XP as a guest operating system. Installed guest additions, and started the guest operating system and added some shared folders from the Host operating system file system. Then with the windows XP [guest OS], Tools -> Map network drive, now I have the common location writable from both the host and the guest operating systems. 

This made my GSoC testing easy, as I no more have to copy the executable to Windows machine from the Ubuntu one, which is used to cross build it. Build once. Run from host and guest from the same location. Virtualbox (or the similar available Virtual Machine software) guest operating systems are the cool way to have multiple operating systems with the possibility of simple file sharing.