Saturday, September 12, 2009

Web feed


When considering web 2.0 paradigm web feeds become an important topic to discuss. Syndication of site content is considered an important Web 2.0 feature, where the users can grab the information from many sources and customize them to retrieve them in a more convenient manner. A web feed or news feed is a data format used for providing users with frequently updated content. RSS which is commonly known as the abbreviation of "Really Simple Syndication" or sometimes "Rich Site Summary" is a family of web feed formats used to publish frequently updated web contents. RSS has many different versions, with two mostly known parallel formats. RSS 1.* and RSS 2.* both are maintained parallel by different organizations and have two unique formats. RSS 1.* (RDF branch) is owned by RSS-DEV Working Group and RSS 2.* is owned by UserLand.

The Atom Syndication Format is an XML language used for web feeds, while the Atom Publishing Protocol (AtomPub or APP) is a simple HTTP-based protocol for creating and updating web resources. Being an XML themselves, web feeds can be parsed to java objects using XMLBeans.

A well known application for creating mashups from the web feeds is Yahoo Pipes. Pipes is a free online service that lets you remix popular feed types and create data mashups using a visual editor.[1]

References
[3] A Pipe.
[5] Sample RSS 2 and RSS 1

Modules Registration

Registrations for our subject modules are done online through Learning management system (LMS). Basically we will be anxiously waiting for the moment to click the 'Enroll' button for our preferred modules as the Module registration is about to begin. Some subjects have more demand than the supply, where some modules do not have such limitations of head count. In level 2, we had CS3300 Image Processing, where only 60 slots were allocated whilst we are 100 in number. We faced more competition for level 2 June term subjects, as those subjects are common for all the departments of the Engineering faculty.

There exists rules such as minimum 6 credits from the Management department and 10 credits from the other departments, for level 3 and level 4. Literally we test the response time and the efficiency of the browsers at this time. I always prefer and use Mozilla Firefox (ff3), while some prefer Safari and Google Chrome. At the time of registration, LMS failures are not so rare, due to the overload of the server. Just like a denial of service attack. :)

We never fail to disable the browser cache [1],[2] of the browser before the registration begins. However we set the values to default or the standard immediately after the registration, to avoid delayed response of the browser.

Friday, September 11, 2009

Tasty New Google Summer of Code Stats

Google Open Source Blog: Tasty New Google Summer of Code Stats shows the remarkable achievement of the students participated in the Google Summer of Codes. University of Moratuwa, Sri Lanka becomes the first in the list having 22 successful students over the total of 999 students worldwide. It should also be noted that University of Moratuwa was the first the last year with 24 successful students where the total was 1126, where we topped the list with 22 for the first time in 2007. Thus making this the 3rd year of success.

Top 10 Schools in 2009 and the 2005 - 2009 total value by # of Accepted Students are listed in the Google Open Source Blog. It should also be noted that, even when considering the total number of accepted students for the Google Summer of Codes(GSoC) for the years 2005 to 2009 University of Moratuwa tops the list with 79 students, followed by University of Campinas / UNICAMP, Brazil (37 students), and University of Toronto, Canada (34 Students).

This result shows the strong impact of Free and Open Source Software among the undergraduates of Universtiy of Moratuwa. Department of Computer Science and Engineering - University of Moratuwa and WSO2 - The Open Source SOA Company should be mentioned here, for encouraging the undergraduates to participate in Open Source Projects.


Read more here:

Thursday, September 3, 2009

gsoc2009unicode.diff

Summary: Port AbiWord for Windows to Unicode

Initial revision: 26150
Final GSoC revision: 27718
I used the below command to create the diff file depicting my progress, in a single diff file named gsoc2009unicode.diff. Here abiword_home is the working folder (abiword source root) that is checked out.
Using this command from abiword_home;
svn diff -r 26150:27718 src > gsoc2009unicode.diff

The diff file can be downloaded here.
It has 13496 lines and 465.5 KB.
---------------------------------------------------------------------------
My Google Summer of Codes branch can be found at http://svn.abisource.com/abiword/branches/gsoc2009unicode/ which is the unicode branch for Abiword Windows. I continued working on this branch even after the Summer of Codes Firm Pencils Down date. So for further updates on the unicode port, you can simply checkout that branch instead of applying this patch.

To use the attached patch,
1. Check out Abiword from trunk as on revision 26150, the revision which was used to create my initial gsoc2009unicode branch.
svn co -r 26150 http://svn.abisource.com/abiword/trunk/

2. Go to the trunk folder you have just checked out and place the patch there.

3. Use the below command from the folder, to patch the working directory.
patch -p0 < gsoc2009unicode.diff 4. Now you have patched the trunk directory and you have the files in the status as that of my gsoc2009unicode branch on the final Google Summer of Codes version 27718. 5. Configuring, building, and other options have no difference from the usual Abiword building process. More details on my Google Summer of Codes 2009 progress can be found here: http://kkpradeeban.blogspot.com/search/label/gsoc2009unicode Kathiravelu Pradeeban kk.pradeeban@gmail.com

---------------------------------------------------------------------------

Summer of Codes 2009 Download List for Abiword can be found here.
Details for the code submission can be found here.

A few lines from the patch:
int XAP_Win32DialogBase::addItemToCombo(UT_sint32 controlId, LPCSTR p_str)
{
UT_ASSERT(IsWindow(m_hDlg));
- return SendDlgItemMessage(m_hDlg, controlId, CB_ADDSTRING, 0, (LPARAM)p_str);
+ UT_Win32LocaleString str;
+ str.fromUTF8 (p_str);
+ return SendDlgItemMessageW(m_hDlg, controlId, CB_ADDSTRING, 0, (LPARAM)str.c_str());
}


google-summer-of-code-2009-abiword submitted code zips can be downloaded here. 

The diff file including the work on the porting done after the GSoC timeline can be found here.

Todos and later commits

Later Commits
28092 - Fixing the localize controls in the dialogs - Zoom, Insert Break, Insert Bookmark, Insert Hyperlink, Format Columns, and Plugin Manager to Unicode.
localizeControlText() methods are replaced, making the dialogs ports compatible to the other win32 unicode ports.
27863 - Porting ap_Win32Dialog_FormatTOC to Unicode.
27862 - Porting ap_Win32Dialog_Stylist to Unicode. Tree view, yet to be fixed.


TODOs (Can also be found here)

I am listing the bugs / TODOs as in the final commit revision 28092
(Sep 1) of gsoc2009unicode branch.
Here I use Arabic to mention the Unicode only text as I used Arabic
and English as my major testing languages during the latter part of
the development.

**I have marked some bugs as critical since they are not limited to
Unicode only languages, other bugs are occurring for the unicode only
language [Arabic] only.**


=== (1) File ===
1. New using Template - Title, labels, buttons - all garbage.
2. Print - Shows English, even for Arabic Interface.
3. Properties - Garbage in buttons, labels.



=== (2) Insert ===
1. Field - Listboxes - All Garbage [Critical]
2. Image - *Crahes* - Insert Image Dialog not starting, after the
change in xap_Win32Dlg_FileOpenSaveAs.cpp [Critical]



=== (3) Format ===
1. Paragraph - Combo boxes - Garbage [Critical]
      Preview - Garbage
      Buttons, Title, Frame - Shows English for Arabic Interface

2. Bullets & Numbering - No Title.
                           Others - Garbage.
                     Combo boxes - Garbage [Critical]
[This is due to the fact that ap_Win32Dialog_Lists.cpp hasn't been
ported to unicode.]

3. Tabs
4. Headers & Footers
These [3 and 4] are shown in English even for Arabic. The issue is
with XAP_Win32DialogHelper.cpp as Marc pointed out in one of his
recent posts regarding the merge.

5. Table of Contents - OK Button - Garbage.
Invisible Labels - [of Stylist]

6. Create & Modify Styles - Garbage.
List Combo - Garbage [Critical]



=== (4) Tools ===
1. Set Language - Tree view - (first letter only, in case of English)
Garbage. [Critical]
2. Stylist - Tree view - Empty [Critical]
These [2 and 3] show there exists problem with the porting of the TreeView item.

3. Preferences - Smart Quotes Tab - English
**Change Interface Language - Not functioning properly**
ap_Win32Dialog_Options.cpp has to be analyzed.


The dialogs that are not listed above as TODOs/bugs are working perfect**** with Unicode only languages. RTL text in title, keyboard and keyman input, menu, title bar, status bar, and dialogs are fine as other text.

These statistics are from gsoc2009unicode branch[1], which was last committed on Sep1. After the merge, there may be some changes in the list above.

Update [08/04/2010]: The TODO list has been added to the Abiword wiki.