Showing posts with label AbiWord. Show all posts
Showing posts with label AbiWord. Show all posts

Wednesday, September 14, 2016

Moments with Llovizna: Random Thoughts of a Gypsy Student

I started my blog in 2009 mostly as an internship diary and then continued to blog about my Google Summer of Code projects, final year project, and the relevant findings on programming and software in general. I blogged about AbiWord almost 50 times, and never thought I would blog about something else before moving to Lisboa for my masters, EMDC. I enjoy presenting my PhD (EMJD-DC) work at conferences. Due to the mandatory mobility of my master and PhD, I travelled and migrated across the countries and continents, which made Llovizna a travel blog too.


I like to stay awake during the take off and landing, as I usually get to sit in the middle seat. However, for some unknown reason, I mostly fall asleep just before taking off and wake up immediately when the flight is almost in the cruising altitude. I like watching movies in the long flights. They come with subtitles, so that I can understand all foreign language movies - mostly I watch Asian movies. The flights that are shorter than 7 hours mostly do not have movies. The airlines in the US, specially the domestic ones, are terrible, even if they travel as long as 5 hours. I remember a flight from Atlanta to San Francisco of 5.5 hours in United Airways - not offering meals, citing that this is the norm in domestic flights.

View from the empire state building
When I do not watch movies, sleep, or have meals, I just look outside the window and see the big world outside. I often do not sleep the night before sleep, as I get busy with packing, and also because I fear not being able to wake up on time for the flight. This makes me have the typical zombie walk - a walk without realizing or sensing the environment, more like a zombie.

I enjoy conferences - meeting, listening to, and share ideas with fellow researchers. I enjoy travels. However, I must admit that it is a hard situation where you are in a new and beautiful city (which most conference venues are), but have to focus on the conference and networking instead. Recently, I have somehow mastered the balance of it, winning over the jet lag and the tiredness related to the long flights. Perks of being a gypsy student. In addition to the conference related travels, I do enjoy some small trips when I have time and money at the same time, as the recent trip to NYC during a long weekend.

We enjoyed cooking in Atlanta. It has fresh food in decent prices. YDFM was our favourite. As the time to return to Portugal comes, I am foreseeing yet another intercontinental flight of the year. Mostly I end up packing the last moment, throwing away things at the eleventh hour or packing/storing things in bulk. One exception was my move back from Rijeka to Lisboa, where I managed to finish all the food items I bought - including oils, rice, and vegetables. Since 2012, I have this weird migration pattern of Sri Lanka -> Portugal -> Sri Lanka -> Sweden -> Portugal -> Croatia -> Portugal -> USA -> Portugal -> Belgium (expected) -> Portugal (expected). This summarizes my gypsy life so far, and in the near future.

I still remember my first walk from my apartment to my lab through the beautiful lanes of Atlanta, with a map. There was a guy in front of me walking. I was under the impression that he was going to the University as well. I was wrong - he turned to the opposite direction. Luckily I was not blindly following him (which I never do actually. :) ) The summer in Atlanta is much longer. When we return to Lisboa in two weeks, it would be autumn there already, with getting colder and wet. Hope it was still warm enough for some walks at the Parque das Nações.

Friday, August 12, 2016

[GSoC 2016] MediCurator : Near Duplicate Detection for Medical Data Warehouse Construction

This summer, at the Department of Biomedical Informatics, Emory University (Emory BMI), we have another set of intelligent students working on interesting projects. I have been mentoring Yiru Chen (Irene) from Peking University, on the project "MediCurator: Near Duplicate Detection for Medical Data Warehouse Construction" for the past couple of months. Currently we have reached the final stages of the project, as the student evaluation period starts on the 15th of August. This post is a summary of this successful GSoC, as well as a history behind the near duplicate detection efforts.

The early history of MediCurator
MediCurator was a research prototype that I initially developed based on my paper ∂u∂u Multi-Tenanted Framework: Distributed Near Duplicate Detection for Big Data (CoopIS'15) as part of my data quality research, along with my GSoC 2015 work on data integration. The early results were presented as a poster at AMIA 2016 in San Francisco.


MediCurator and Infinispan
Now we have a more complete implementation of MediCurator and a use case for medical data, thanks to the support provided by GSoC. For her implementation, Irene did some benchmarks before choosing to go with the Infinispan's latest distributed streams for the distributed execution. (You may find some interesting discussion on the Infinispan distributed streams here.)

MediCurator Usecase
MediCurator is a data quality platform for the ETL workflows in data warehouse construction. It optimizes the bandwidth usage by avoiding the duplicate downloads, and optimizes the storage by eliminating the near duplicates in the warehouse thus increasing the data quality. When data is downloaded, the source locations are tracked, and when data is updated in the source at a latter time, the subsequent download process will download only the new data.

Similarly, data is deduplicated at the data warehouse, as near duplicates could be present there since data is integrated from multiple data sources. Here the data pairs are evaluated for near duplicates in a distributed manner, with duplicate pairs stored separately, while the clean data stays in the warehouse. The duplicate detection workflow also considers the corrupted data/metadata, and synchronizes/downloads the clean data from the source.

This is useful for medical images due to the large scale of the data, often binary in nature along with textual metadata. Efficiency of MediCurator is ensured through its in-memory data grid-based architecture. MediCurator fits well with the landscape of distributed data integration and federation platforms developed at Emory BMI.

More Details on GSoC 2016
Irene developed the entire code base from scratch as an open source project. MediCurator also has a ReadTheDocs* based documentation which gives more detailed description to the project. In addition, you may learn the summary of weekly progresses at Irene's blog. MediCurator's scope remained dynamic throughout the project. MediCurator has download tracking and detecting duplicates across the datasets online and offline, in addition to the near duplicate detection. Most of the code was developed exclusively having the cancer imaging archive (TCIA) as the core data source with DICOM as the default data format, while maintaining relevant interfaces and APIs for extension to other data sources and data types.

Future Work
The summer was productive. It included both research and implementations. The GSoC time is limited to 4 months (including the community bonding period), and we are reaching a successful end to a yet another Google Summer of Code. Nevertheless, we hope to work on a research publication with combined results on MediCurator, along with the previous ∂u∂u** and SDN-based Mayan (presented at ICWS 2016) approaches in November. This will be our first publication with Irene on her findings and implementations, with further evaluations on the clusters in INESC-ID Lisboa. More updates on this later (possibly after publishing the paper ;)).

Concluding Remarks
This is my 4th time in the Google Summer of Code as a mentor, and 3rd time as the primary mentor for a project. Previously I mentored 2 successful students in 2011 and 2012 for AbiWord. I wish every student success as they reach the end of their summer of code.

* I recommend ReadTheDocs. You should give a try!
** You may find the paper on ∂u∂u interesting, if you are into data quality or distributed near duplicate detection.

Sunday, July 31, 2016

Summer and Life Cycle

The Bahamian conch salad from the Da Fish Fry
Sri Lanka really does not have these periods. The first time "summer" made some sense or difference to me was 2009. I applied and got selected for my first Google Summer of Code as a student with AbiWord. It was so exciting, and unlike now, I was somewhat new to the open source. Not entirely new, since I had already done some localization work (I had localized Squirrelmail to Sri Lankan Tamil, along with a few of my friends). Also I was an intern at WSO2, a Sri Lankan open source company (which also mentors GSoC students these days at a large scale, as a mentoring organization). Following 2009, I was always involved in GSoC, either as a mentor or a student.

But it was 2012 when I really got to know how does a summer feel like, and was able to differentiate it with other seasons. That was when I came to Portugal for my Erasmus Mundus masters program EMDC. Coming from a hot and humid country, Lisboa's summer was mild to me and it felt comforting.

Europe always had its beauties with seasons. I did not like winter in Portugal particularly as it was too wet. Similarly, I was not a fan of Swedish' dark winters either. However, I miss the snow.

Though I did not experienced seasons beyond sunny days and rainy days, I did have the days - weekdays and weekends. During the school days, we still had tuition classes during the weekends. That effectively made us busy almost 7 days a week. So there was no real weekend till I joined the university. However, at the latter years of my bachelors, I had classes even on Saturdays, leaving us with only Sunday as a free day.  When I joined the industry, I really had the weekends off.

Crystal clear water of Nassau
Same was true with my masters too. However, with the increased autonomy I have with my PhD in Portugal, I am actually free to choose my own timing. I tend to work in weekends when I want to. On the other hand, if I decide to go for a movie, I can always go ahead any time instead of waiting for the weekend. When I had paper submission deadlines approaching, I tend to work 7 days a week, and love it!

Atlanta's summer is hot and humid. Just like Sri Lanka. When you come out of office, you will feel like entering a sauna. Also the rainy days! Coming from Portugal, it felt weird to have thunderstorms in summer. Summers are supposed to be dry. ;)

US has holidays arranged in a strategic way to have them on Mondays or Fridays to allow long weekends. During my short stay here, I have experienced 3 long weekends, if I counted it right. Weekends I often use for buying food or doing some minor fun activities - except for the long weekends - when I can go somewhere farther such as the Bahamas.

I am a proud gypsy student since 2012. It has its positives and negatives. Positives - I got to experience new places and new people, and always make me feel young. Negatives - time wasted in bureaucracies and installation costs (such as buying the basics for the new accommodation).

As I walk on the lanes from my lab in the late evening, I always think of random things. I recall many things - to be worth of blogging down - both technical and non-technical. I end up not writing majority of them. Writer's block, if I may say so. That's why I keep a list of future blog posts!

It is interesting to note that in the recent past my "thinking language" has been shifted to English from Tamil. It is because of my limited reading, writing, and communicating in Tamil in foreign lands. However, I still enjoy my Tamil songs and movies from South India! I like musics and music videos. They always bring back memories from the past - the first time I heard the song! I am sure now I have many good memories from Atlanta as well, with more music and more diverse technical experience.

Sunday, June 10, 2012

Moments with Twitter..

I was recently playing with a few tools, that let you have a look into your past tweets. All My Tweets is an interesting service, that lets you view all your tweets in a simple page, from the beginning. Interestingly, another service, named Twitario gives a view of all your tweets, as a diary. Though Twitario provides a nice interface to find the tweets easily, based on the calendar, it doesn't support Unicode characters, which is surely a minus for those who tweet in Unicode languages. "All My Tweets" include the link to the original tweet itself, where Twitario provides the option to delete the tweets. Having analyzed these tools, I should mention that these tweets were really useful, and brought a few interesting memories back.

Now time to look into the trail of my tweets. Here are some of my tweets, since the 26th of March, 2009.

is finishing the documentation. Mar 26, 2009
It is notable that my first tweet is on documentation. It was probably on the documentation on the project done during the internship. I have always been a supporter of good documentation - It helps the blood flow of open source.

Abiword Cross-compiling using wine successful on Ubuntu. Apr 16, 2009
At that time, uwog was still completing the MSVC build for AbiWord. I found Cross-building useful, since it was complete and gave me a usable AbiWord build for Windows, with no issues. This was indeed a remarkable point, which gave me further confidence to work on AbiWord Windows API, using Ubuntu as my platform.

Summer Love with Abiword... Apr 20, 2009
This was a happy announcement of me getting into the Google Summer of Code 2009. This was my first Google Summer of Code, and I was pretty much excited. AbiWord community was super-friendly, and I am proud to be a member, since then.

with Anjuta.. an IDE similar to Visual Studio... for Linux. May 08, 2009
Anjuta DevStudio is a Gnome Integrated Development Environment. I have mostly used Anjuta as a syntax highlighter for my C/C++ projects including AbiWord development. For compiling and building of AbiWord, I just use make directly.

needs a mute option and filtering for facebook messages. Any suggestions... Jun 01, 2009  
At that time, there was no way to opt-out from the Facebook notifications from the photos that we commented, or to remove ourselves from the facebook threads. I was annoyed, when someone sends group messages directly to inbox. It is great to see that these options are now available for facebook. Now we can remove ourselves from the messages. However, filtering is still not possible. Neither muting (receiving the messages, but not getting the notification of that red one for the new message, for the uninteresting thread).

#AbiWord Turns 11! Happy Birthday to dear Abiword! Happy Birthday to you... Jul 16, 2009
That was remarkable to mark the 11th year of AbiWord, since it started as an open source project in the year 1998.

My computer never complained abt me repeating the same build million times, and I've never complained abt its time delays. We <3 each other. Aug 17, 2009  
Some romance with my computer.. ;)

10 reasons to avoid talking on the phone http://theoatmeal.com/comics/phone from @oatmeal Feb 23, 2010  
Oatmeal never fails to amuse me. Many of its posts deserve a tweet.

my #javascript has gone wild and bigggggg and GO #bananascript GOO.. http://www.bananascript.com/ Compress it.. :) #fb Mar 03, 2010  
Bananascript is a nice online tool to compress javascript files.

A periodic table of visualization methods http://www.visual-literacy.org/periodic_table/periodic_table.html Apr 04, 2010  
Each of these visualization methods deserves a blog post on its own. Visual-Literacy.org provides interesting learning resources, such as an introduction to argumentum. I have also enrolled to their online courses, full of study materials.

I should create some of my own thought experiments as well.. :D http://plato.stanford.edu/entries/thought-experiment/ Jun 06, 2010  
Thought experiments are fun, and it enhances your ability to think, weird. ;) Follow the above link to realize that. Again, each of these thought experiments deserves a post on its own.

GSoC welcome package once more. Special thanks and love OGSA-DAI, OMII-UK and Google. Reminds me the lovable days of GSoC2009 - Abiword too. Jun 19, 2010  
A blog post that happily announces my second welcome package from Google. Yes, this was for my Google Summer of Code with OMII-UK.

Also make sure to read Moments with Twitter - II, the successor of this post.

Saturday, April 28, 2012

Apache Meetup, Kandy: Community Matters!

Yesterday (28th April, 10 a.m. - 4.30 p.m.) we had an Apache Meetup at the Engineering Faculty of the University of Peradeniya. It was an excellent event, which followed the recent Apache BarCamp, Colombo. I presented how to build a new open source community for the audience. The presentation was titled, "Community Matters!!!111" and was based on "Community Matters," the GSoC Mentor Summit discussion that I coordinated.


Monday, April 23, 2012

Google Summer of Code 2012 and AbiWord

Being a mentor for the Google Summer of Code with AbiWord for the second time is going to be an interesting experience once more. It was a nice memory going through all the 29 proposals for AbiWord and reviewing them as a mentor. Selected students were announced by Google on 1900UTC, 23rd of April.

The list of accepted students, along with their project proposals as well as their mentors are given below.

1) Tanya Guza - "Improve ODF support"  - Mentored by Hub
2) Kousik Kumar - "Table Improvements" - Mentored by Simon
3) Aaditya - "Implement Rotated Text" - Mentored by Martin
4) Vincent (Zuyin Kang) - "Dialog improvements" - Mentored by Pradeeban
5) Bafna - "Implement and Improve the import and export of math from/to odt, doc & docx formats" - Mentored by Jean
6) Serhatkiyak - "Improving Abiword's OpenXML(.docx) support" - Mentored by Dom
An interesting point to notice is that, since 2006, AbiWord has successfully been participated in all the Google Summer of Codes (2006, 2007, 2008, 2009, 2010, 2011, and 2012). Hence this becomes the 7th consecutive year for AbiWord to participate in Google Summer of Code! I wish the 6 students who got selected a great summer of code with AbiWord, and I hope they will continue to be a long term contributors even after their summer. At the same time, I should also note that, we had to miss a few nice students as we have only 6 slots. Hope they will still continue with their development on AbiWord.

Sunday, April 15, 2012

"Reading Level" ~ Google gets more interesting!

"Verbatim" and "Reading Level" are two new cool search tools from Google. Verbatim lets us search the exact term as it is, eliminating the spelling corrections, and all the smart features of Google.

Reading Level
"Reading Level" categorizes the search results according to the level of expertise needed in reading the page. Simple and easy-to-comprehend pages are categorized as "Basic", where the advanced and high-standard pages are categorized "Advanced". "Intermediate" stays in between. Highly technical or articles with complex language structures are often categorized as "Advanced".

I searched "Kathiravelu Pradeeban" using Reading Level, and found the below.

Similarly, searched a few projects that I am interested in.
AbiWord
Basic - 14%
Advanced - 3%

OGSA-DAI
Basic < 1%

It is pretty reasonable to have the highly complex and technically advanced OGSA-DAI to have more pages classified as "Advanced" and only a tiny bit classified as "Basic". However, AbiWord, the word processor has more content classified as "Intermediate". This again is reasonable for an end-reason software product. Google Reading Level is surely an interesting feature. 
 
Update as of Aug 30, 2025: The Reading Level feature seems to be removed by Google! 

Saturday, March 17, 2012

GSoC-2012 (The Second Life)


Today we had a Google Summer of Code (GSoC) meetup at the Department of Computer Science and Engineering, University of Moratuwa, 9 am - 3 pm, with multiple presentations and demos. This was the second time I presented the GSoC for the CSE, UoM undergraduates. However, last year the session was held at the IESL auditorium. Hence this year's session was important to all the resource persons, as doing the session at our own department for the very first time. The juniors showed a great enthusiasm, and I am confident that today's session was the best of all the sessions we had so far. 150 heads was recorded as the highest in our GSoC sessions history in today's session.

My GSoC presentation, which went for 80 mins, was themed "The Second Life." We were informed the list of the selected organizations at 12.30 a.m (IST) today, and we had the session at 09.00 a.m. This gave an additional motivation to the students. Not forgetting to update, AbiWord has been selected as a mentoring organization this year as well. I hope to mentor for AbiWord once more.

Friday, March 16, 2012

Google Summer of Code (The best of both the worlds)

Month of March is so special to me. I was introduced to two great open source projects in March, 2009 (AbiWord) and 2010 (OGSA-DAI).. ♥

Not everyone gets a chance to live........ a second life!
Now, the beauty of open source projects come into play that it gives you a chance to work on something that you are really interested in, in your own way. But not many of us get time to dedicate to an open source project due to our other commitments and as we are busy with our regular work, study, and related activities. The Google Summer of Code (GSoC) gives the best of both the worlds.

Why GSoC?
GSoC is an annual program from Google for the university students of age 18 and more. You will be coding for your preferred open source organization for 3 months. Google coordinates and awards the successful participants. Though open source organizations are run mostly by volunteer developers, Google pays the students with 5000 USD along with a certificate, an awesome t-shirt, and gifts! Hence you can focus entirely on the program during the 3 months time.

3 milestones. 
  • Getting Accepted (500 USD)
  • Mid-Evaluations (2250 USD)
  • Final Evaluations (2250 USD)

Some statistics of 2011
  • 175 Organizations
  • 2096 mentors and co-mentors.
Submitted
  • 3,731 students, from 97 countries.
  • 5,651 proposals.
Accepted
  • 1115 students/projects
  • 68 countries.
  • 595 universities.

The success rate is pretty high!
Last year, more than 90% of the students passed the mid evaluations, where around 88% passed the final evaluations. The high success rate is because, the mentors and the organization are with the student to provide him assistance and guidance, whenever is needed. 

The passion towards open source and the desire to be an outstanding student are considered to be the major reasons for a student to participate in the Google Summer of Code. Not to mention, while earning the money for the summer.

A computer with the Internet connection, knowledge and experience in the domain, and the motivation are the required to participate. Of course, you should really be interested in contributing to the particular open source organization.

Don't forget to check the


Before you begin..
  • Google Summer of Code is all about being Open Source.
    • Get your basics and motives right.
  • Netiquettes.
  • Sign up to the lists.
  • Join the relevant channel(s).

Technologies
  • Version Control Systems
    • SVN, CVS, GIT, Mercurial, ..
  • Build Tools
    • Ant, Maven, ..
  • IDEs (Integrated Development Environments)
    • IntelliJ IDEA, Eclipse, ..
    • Microsoft Visual Studio, Anjuta, ..
  • Issue Tracker
    • Bugzilla, Jira, Trac, ..

Communicating with the team..
.. and the mentor, over the Internet..
  • Mailing Lists
    • Dev, User, Commit lists, sub-groups, ..
  • Internet Relay Chat (IRC)
  • Issue Tracker
  • Forums and wiki
  • Blogs
  • Skype, Personal Mails, gtalk, conference calls, .. [with the mentors, if that is preferred.]

Network Etiquettes
  • Be Specific and clear.
  • Research (google.. ;)) before asking.
  • Be helpful to others.
  • Be ethical; respect.
  • NO CAPS! (UNLESS YOU ARE SHOUTING!)
  • Don't take messages personally.
  • Dn't snd ur sms msgs to thrds or lsts.

Proper Addressing..over the lists/irc/..
  • Address the devs and users properly.
    • First Name or Preferred calling name.
    • NO Sir, Madam, bro, sis, pal..
      • Even if you know them, personally.
    • No Mr., Dr., or Prof. either.
  • Be gender neutral.
    • “Folks” over “Guys and Girls”.
  • Not too personal.
    • Use “Hi”, instead of “Dear”.

Mailing lists
  • Post only to the relevant list.
  • Check the mail archives first.
    • To avoid getting RTFW/RTFM responses.
  • Avoid HTML mails.
    • Most of the mail servers do not like it. For eg, all the html mails posted to abiword mailing lists are dropped by the mail server. Make sure to turn off the html or rich text mail feature in your email program. It is by default HTML/RTF mail in the web mail like Gmail/Yahoo. Make them send plain text email.
  • No [URGENT]/[IMPORTANT] tags.
  • No unnecessary attachments.
  • No Cross Posting.
    • Stick to the proper mailing list only.
  • Don't hijack threads.
  • Don't post off-topic.

IRC Etiquettes
  • Be an observer first.
  • Refer to others using their irc nick.
    • Whenever my irc nick is mentioned, I get a pop up message from my irc client such as pidgin.
  • Don't expect immediate replies; wait.
  • Don't post bulk of text into irc.
  • Avoid these common mistakes.

Find a mentoring organization..
  • Have a look at the list of GSoC2011.
    • Since the list of this year hasn't been selected yet.
  • 175 Last year!
  • New Organizations.
  • Google as the mentoring organization.
  • Introduce GSoC to an organization (Sounds Smart!).

Find THE right project..    
Once you have found the right organization(s), that matches your interest and expertise, you have to go through the ideas list (e.g: the project ideas of AbiWord).

You can even contribute to the organizations, that aren't selected this year, as most of them still welcome the student contributors. OGSA-DAI had some great project ideas, but wasn't accepted this year as a mentoring organization.
    These were the organizations that I had my summer with. The beauty of these organizations is, they are friendly and provide a great learning environment. I was able to become a committer, developer, and mentor for these organizations. I learned open source with these organizations, and they have influenced me a lot positively. Apart from the coding, we always share thoughts and literally the AbiWord and OGSA-DAI communities have given me a colorful second life, which I would love to maintain as a developer, whenever I get a free time from the "first life".

    Get to know more about the projects
    • Talk to the mentor(s) Assigned by the organization for each project idea.
    • Mailing lists and archives.
    • Issue Tracker
      • Open issues or tickets
        • New features/enhancements (RFE)
        • Bugs (easy/difficult and normal/critical)

    What makes you special?
    • Experience
      • Being a great user doesn't mean that you can be a good developer.
    • Your interests and motivation
      • Pick something you really enjoy doing.
      • Being a great developer doesn't mean that you can be a good contributor.
    • Opportunities
      • What makes you the right person?
    • Willingness to contribute to the community beyond the time frame of GSoC.
      • We want committers and long time volunteers - Not just students!


    Experience
    • Languages
      • Java, C++, C, ..
      • Not much time to learn a new language (?)
    • Prove It!
      • Patches.
      • Assist other students!!!
      • Project expertise
        • Bug reports and fixes.
        • Go through the archives, wikis, and web sites.

    Opportunities..
    • Project that matches your previous work experience.
      • Choose the right project.
    • Timezone Difference 
      • Use it effectively - Most of us prefer to work in nights too, as we have the lectures in the mornings.
    • Multiple Applications (20!)
    • Preferences! 
    • Communicate early and often.
    • Be heard, visible, responsive,  and quick!
      • Ask questions, and more importantly answer others' questions.


    Apply

    Register as a student for GSoC, as the first step. Use the project's wiki for draft proposal, if applicable. Some organizations prefer that, where some discourage it. 

    Apply on Google's melange, at the earliest possible, as you can edit it later, till the last minute. Make sure to get the mentors' opinions and improve. Check melange often for the mentors' comments and attend to them. Make sure that you subscribe to the comments on your proposal in the melange site, such that you will receive email alerts for each comment that is made by a mentor/developer on your proposal. Your proposal can only be seen by the orgnization mentors, unless you decide to make it public.

    How to impress the mentors/developers?
    • Stick to the organization's template.
    • Abstract.
    • Introduce yourself properly.
      • Focus on the relevant facts.
      • Why do you fit? Your skill sets.
      • List of the patches (if any) you have submitted.
    • Project Goals
      • Proves you got them correct.
    • Deliverables
      • Code, Documentation, test cases, ..
    • Description - can also be given along with the timeline
      • Benefits to the organization and other projects  
    • Timeline
      • Finer details - Break upto periods of 3 - 4 days.
      • Testing takes time - Don't be over-optimistic.
      • Some organizations require considerable work hrs/week (40 ?).
    • Links - References and additional details.

    After the submission..
    • Don't go invisible!
      • Evaluation is still going on.. ;)
    • You may be asked to provide additional information.
      • Patches.
      • Screenshots.
    • Start coding on your project - only if you didn't apply for multiple projects.
    • Be motivated.

    Got Selected? Community Bonding Period!!!

    Don't Panic. You have one more month, just to mingle with the developers and the code base. Mentors are there to help you! Keep touch with the developers and users. Learn the project by going through the code base and documentation such as coding styles and coding guide lines. e.g: OGSA-DAI coding guidelines. This will help you understand the project idea more. Come up with a design and start with simple hacks.

    Coding

    Finally comes the coding - the easiest task of all. Commit often, if you are given committership. In AbiWord GSoC projects are usually given a branch in the public svn, which will be merged to the trunk, upon the successful completion of the project. In OGSA-DAI, based on the project, it is either committed to the trunk directly or given a branch. These two projects give committership to the students. However, some organizations/projects do not give committer access to the students. In such cases send daily patches otherwise.

    When committing or sending the patches, make sure to include meaningful Commit messages. Get feedback from the mentor(s) on your commits or patches frequently. Keep the community updated. Committing or sending patches daily would be a good approach.

    Plan for the mid and final evaluations early, with the mentor. This will help you reach the target successfully. You might also need to revisit the project goals if required, during the milestones.



    Conclude/Continue

    Pencils Down Date - to stop the coding. Still you can refactor and improve the code, fix any last minute bugs, and work on finalizing the documentation. This is follwed by the firm pencils down date, which literally finishes the Google Summer of Code. 

    Whatever coding or related job done on your project after the firm pencils down date will not be considered part of your summer of code, and will be considered a volunteer work on the project. Get a tarball of all the diff files to submit to Google. Successful submission of the tarball along with the successful final evaluation ensure your success in the Google Summer of Code.

    Focus on becoming a committer if not already given committership. Keep contributing to your project.



    A few links
    This blog post has gone a bit longer, since I tried to include all the information in a single post. Wish you all the best.

      Saturday, December 17, 2011

      Google Summer of Code 2012

      We are having a series of GSoC awareness sessions, including the yesterday's session we had at the University of Peradeniya, and the upcoming session at the University of Jaffna on the 7th of January, 2012. These events focus on discussing GSoC and FOSS. Attached herewith is the latest version of the presentation I prepared to introduce GSoC 2012 to the students. Feel free to download and distribute, if the slow network prevents you viewing the presentation here.

      As a mentor from the AbiWord community, I have come up with the slides based on our experience with the Google Summer of Code. This presentation is also influenced by my experience as a three time Google Summer of Code participant, with AbiWord (2011 as a mentor and 2009 as a student) and OMII-UK (2010 as a student). Special thanks to Martin Sevior and the AbiWord community for their valuable input at several times, in shaping this presentation up. 

      Make sure to have a look at the Google Summer of Code 2012 project ideas from AbiWord.

      The presentations in this blog require Shockwave Flash Plugin to display correctly. If you couldn't see it correctly, make sure you have the required plugin enabled. Feel free to drop a comment should you require further information.

      Google Summer of Code awareness session

      Yesterday we had an awareness session for Google Summer of Code (GSoC) at the Engineering Faculty of the University of Peradeniya. This event focussed on discussing GSoC and FOSS. It is an interesting fact that we have visited the University of Peradeniya, after exactly 11 months, for the very same event - Google Summer of Code awareness session. Our previous session was held at the science faculty, on 17th of Jan, 2011.

      Attached herewith is my presentation, introducing GSoC 2012 to the students. This slides are based on my experience as a three time Google Summer of Code participant, with AbiWord (2011 as a mentor and 2009 as a student) and OMII-UK (2010 as a student).

      In slow network connections, the presentation might take a bit longer to load. In that case, please feel free to download the presentation for your future reference.


      Update: Pls find the latest revised version of this presentation at 

      Saturday, October 29, 2011

      Community Matters!!!111

      Google Summer of Code Mentor Summit 2011
      We had several interesting unconference sessions and talks at the Google Summer of Code Mentor Summit 2011. I proposed and coordinated the unconference session titled "Community matters", the Saturday 22nd of October 1.30 - 2.30, at the room "Algiers". We had around 12 active participants from multiple organizations, representing AbiWord, Apache, and more.
       
      The session notes are recorded in the Google Summer of Code wiki, which needs the log in credentials to access. Hence I summarize the notes again for the wider audience. These notes are from the thoughts of the mentors from the communities involved in the discussion, and they might reflect the communities involved (Hence the points, may of course, disagree to each other to some extend). I represent AbiWord, and hence my views are biased towards the culture of the AbiWord community, which I consider the best of all. ;)

      What is a community 
      • People with a common purpose or goal
      • Communicating with each other
      • Contributing to achieving the goal
      • Like a big family
      • It's the most important asset in an open source organization.   
      Issues in building a community (and solutions)
      • Defining the goal(s)
        • Not everyone has the same goals, need to define them as a community
        • Each one's goal regarding the community should contribute to the community's common goal.
      • How to bring people in (making it easier to get started contributing)
        • Reducing the hassles involved
        • AbiWord: Helping or mentoring the interested newbies to start contributing to a project.
        • Apache Software Foundation: give people commit access early.
        • It's version control, we can roll it back!
        • Make the restrictions social rather than mechanical (e.g., give someone commit access, but encourage them to get the code reviewed before committing, commit only in their area, etc.)
        • Use GitHub, SourceForge, or something similar to have branches and pull requests, which makes people able to commit on their branch and collaborate with the community. Also GitHub allows people to not have to learn git. [barrier reduction]
        • Have a policy that someone cannot contribute a completely new module until they have been part of the dev community for a year first.
        • One thought: maybe you don't need that many people
        • Novice issue tags plus "office hours" in IRC - mentor new dev contributors in learning the contributing processes, with an easy issue  for the newbie, so the starting barrier would be reduced.
        • Have someone who is the "greeter" in the issue queue. If an issue waits for a given time (say 3 days) with no response, the current "greeter" at least says "Thanks". This duty rotates as people get tired of it.
        • Break tasks up into manageable chunks
      • Communications are a major challenge
        • Some people are always on IRC (coders usually), some never on IRC (designers).
        • Ban IRC for making decisions - has to happen on a mailing list (Apache Software Foundation and many other projects)
        • To make a mailing list work as the discussion tool, people have to be told "bring it to the mailing list"
        • Some people like asynchronous communication (e.g., mailing lists) rather than synchronous/real-time (irc), plus with a world-wide community, real-time meetings are not possible
        • Mailing lists are good for archives, but are slow for actual discussions
        • Get people together in person from time to time, if possible.
        • People are not located geographically close to each other.
        • IRC becomes active around the clock, if we have developers around the globe (AbiWord).
        • Language difficulties - English is not everyone's first language.
        • Localizers help on overcoming the language barriers to a project.
      • Have to make it feasible for users to provide feedback/issues
        • Depends on the type of project, whether that is difficult or hard
        • User community is where new developers come from
        • Figure out how to interact with them
        • Derby rarely uses mailing lists - they rather use the issue tracker. 
        • Many users are more familiar with the mailing lists.
        • So mailing lists help building the community healthy and friendly.
      • How to attract new members to the community
        • Marketing to attract users
          • Go to the competitive events and meet potential users there (if appropriate for project's target audience).
          • Get academics interested, then students will follow and they become part of the organization.
          • Cooperate and collaborate with the other FOSS project communities - Common code segments to be used by multiple communities.
      • Statistics
        • How many contribute x number of patches
        • Measure how well the new contributors are getting integrated as regular contributors
        • Community health: are we adding new contributors
        • Don't measure lines of code or number of patches - doesn't reflect community health
        • Measure how many contributors are contributing to a project or sub-project as a measure of its health
        • Apache foundation board will warn and/or ban projects that are not on-boarding new contributors and otherwise acting in a healthy way
      • 90/9/1 split
        • 90% of users do not communicate. 9% submit bugs and maybe a patch occasionally. 1% get really involved.
        • You can double the 9% part by greeting and other contributor support strategies. 

         P.S: The "!!!111" at the end of the title ("Community Matters!!!111") was intentional, and I put that on the session proposal too, to give it a kid's touch, who desperately wants to contribute to the FOSS communities. ;)
        • AbiWord community's blog roll - Planet AbiSource.

          Google Summer of Code Mentor Summit 2011

          Google Summer of Code Mentor Summit
          Google invites the mentors for a two day unconference over a weekend to discuss about the Google Summer of Code, the respective projects, FOSS in general, or whatever that is applicable for the set of geeks. Google Summer of Code Mentor Summit is an interesting event hosted by Google and the sessions are scheduled by the attendees themselves. Google pays for the flight and the stay for the two nights (Friday the 21st and Saturday the 22nd of Oct/2011), providing dinner with style for the two nights. The mentor summits are held at the Google Headquarters (Building 43), CA 94043, USA. The event schedule is completed only at the day of the summit, as an ideal unconference! [Have a look at the Mentor Summit 2011  schedule with the parallel unconference tracks]. 

          AbiWord at the Summit
          As a mentoring organization, AbiWord has been mentoring students for Google Summer of Code since 2006 - for 6 years consecutively, since the program was announced in 2005. In 2006, Martin Sevior represented AbiWord in the mentor summit [Read more on his experience at the mentor summit 2006]. I was, as a mentor from AbiWord for 2011, was really glad to represent AbiWord in  the summit for 2011. This was the second time, AbiWord being present at the summit. This year we had 4 students who successfully completed their summer, among the 5 who had their summer with AbiWord [Read more on my thoughts on Google Summer of Code 2011].


          Stay at California (21st - 24th, Oct 2011)
          This year, the summit was held on 22nd of October the Saturday and 23rd the Sunday. "WildPalms" and "Domain" were the hotels organized by Google for the stay for the two nights. Most of the mentors stayed at WildPalms, Sunnyvale, CA, where some of them stayed at Domain, as rooms in WildPalms filled up. 2011 was the biggest summit ever with around 360 participants, where it was around 200 last year, mentioned Carol. Wild Palms is a silent and simple hotel. It reminded me the structure of the typical hostels - but I like it. We had shuttles to and from Google. We also had shuttles connecting Domain hotel, for them to join the dinner at Wild Palms.


          Scheduling the unconference sessions
          The sessions were scheduled and held at different rooms at the Google Headquarters, in parallel tracks. Initially, everyone was given 30 seconds to introduce themselves and their session, to begin with. Each session spans for an hour. A location was picked from the available 16 rooms. Once introduced their sessions, each one writes down the proposed session in a paper, and posts that on the white boards available, which had a table drawn with "Time Intervals" against the "Location". Once everyone introduced and posted their sessions, everyone is given the option to vote for their preferred session. The voting is interesting. We move along the white board, and pick a session of interest for each time frame, and mark it with a circle. Once this is done, the circles are counted and considered a '+1', and the sessions are relocated to fit the size of the room, according to the interested audience. Some sessions had exceptionally huge preference votes, and were scheduled to be held at Tunis, which has room for 200. Other rooms fit the audience from 10 to 20.

          Community Matters!!!111
          I [my user profile in the wiki] proposed and coordinated the unconference session titled "Community matters", the Saturday 1.30 - 2.30 at "Algiers". We discussed how and why a community matters the most, how to build a community, the challenges faced, and overcoming them. The session notes can be found in the wiki [Needs credentials to access the wiki page].

          I have blogged with the session notes for the wider audience [Read "Community Matters!!!111" in this blog]. However, Google Summer of Code mentors can access the wiki to read more about the Mentor Summit 2011. All the session notes are posted to the wiki.


          From Sri Lanka
          It was a long journey to Sunnyvale from Colombo! I traveled from Colombo (CMB) to Dubai (DXB), and to Los Angeles (LAX), followed by a local flight to San Jose (SJC). A cab from San Jose to Wild Palms is relatively cheaper (~38$), than from San Francisco (SFO). SJC is known as the airport of the Silicon Valley. I stayed one more night (Sunday night), since my flight was on Monday noon 12 pm. This was my first trip to the new world (Americas). It was a great experience seeing darkness at 3 pm in the sky of the north pole.

          Mentor Summit
          The summit went really well, starting with a warm welcome from Carol Smith, at "Tunis". I got the chance to meet many folks from many organizations, and listen to their interesting and crazy experiences. Everyone had at least a single interesting experience to share, during the tea, breakfast, or lunch. 2011 was the first year for many organizations (~50) in Google Summer of Code, and (the mentors from those organizations whom I had a chat) were impressed to hear the successful involvement of AbiWord in Google Summer of Code. I met Fridrich representing LibreOffice at the summit. It was really great to meet someone whom I have talked to, over the AbiWord IRC.

          Haiku
          Meeting the Haiku community was remarkable. Haiku is an MIT licensed open source operating system inspired by BeOS. We thought of a possibility to propose a project co-mentored by AbiWord and Haiku for Google Summer of Code 2012 - "Haiku port for AbiWord". There was also a discussion on this during GSoC 2009 too, which we couldn't make it at that time. Scott from Haiku also pointed out that AbiWord used to run perfectly on Haiku during the early days (well before I joined AbiWord at 2009). We have to go back to the history of AbiWord source code and get it back to build and run, which ceased to build. As we are more into gtk, we have never looked much into this yet, I feel. The relevant discussion can be found at abiword-dev mailing list. Refer to the Haiku FAQ to learn what Haiku is and what it is not.

          Catroid
          All the 4 mentors from the project Catroid were present at the summit. They were doing interesting demos with their Catroid project running on Android, over the corridors during the breaks. It was their first year at Google Summer of Code and Catroid is really excited as a young organization to participate in Google Summer of Code. By default, Google invites two mentors from each project, along with a waiting list to allow more interested mentors in first-come-first-served. Catroid was really lucky to have everyone around! :)


          Marketing and Open Source
          An interesting session on "Marketing and Spreading the word about the project/community", followed the session "Community Matters", in the same room (Algiers). How localizers help to widen the user community was discussed. The mentor from PostgreSQL mentioned that they have allowed independent local user/dev communities to own the site in their languages (French, Japanese, ..) Social media engagement (twitter, facebook, dzone) to spread the word of the community and project releases were discussed.

          Student Salaries
          The other two sessions I attended on the first day were on "Humanitarian FOSS", with the participation from OpenMRS, Sahana, and Ushahidi, and "Student Salaries". "Student Salaries" discussed about managing the GSoC's payment. It had a few controversial suggestions followed by a healthy discussion, whether each student should be paid equally, or based on their geographical location, or by the outcomes - a final outcome of the discussion was to propose a reward for the outstanding students - may be a GSoC Student Summit. 

          Around Google
          We took a group photo with all the mentors around, at the end of the first day. We also move around the Google Campus and also visited the Google Store. A room full of chocolates from Goolge, as well as from the mentors allover the globe was awaiting us throughout the summit! ;). The welcome desk was full of Google TShirts and give aways from Google and from the mentoring organizations - specifically stickers from the organizations. I took a few photos around the Google Campus. Feel free to view them in my Facebook album.

          The Second Day
          I attended the sessions at Tunis, the second day. "Non-profit infrastructure for software freedom" with the views from Software Freedom Conservancy, Free Software Foundation, and Apache Software Foundation, gave some insights in the non-profit infrastructures. "Fund raising 101" by Cat from Google provided some basic hints on successfully getting the open source project funded.

          Wrapping Up!
          A final speech from Carol ended the summit in a vote of thanks manner. Wait - No! Mentors were asked to provide their suggestions of improvement after her talk. Some encouraging, interesting and also funny comments were thrown, with room full of laughter and applauses. One interesting and usual suggestion was to have the summit at Europe next year. "I love you guys, but, sometimes, I hate you guys," replied Carol.

          The Google Summer of Code Mentor Summit was surely a remarkable experience for everyone who attended. I would like to thank Google and Carol for organizing the Google Summer of Code as well as the summit, on behalf of the AbiWord team.

          Thursday, April 28, 2011

          Google Summer of Code 2011 and AbiWord

          Being a mentor for Google Summer of Code is yet another interesting experience like being a student. It was a nice memory going through all the 23 excellent proposals for AbiWord and reviewing them as a mentor, during the night at our annual trip at Kandalama. This year, AbiWord has got more smarter applications. GSoC deduplication meeting was something remarkable, where the organization admins (or a representative/mentor from the organizations) resolve the duplicate students issue in the presence of the Google Summer of Code admins over #gsoc at irc.freenode.org. Many students were also seen in the irc meeting to check whether they have been accepted for multiple organizations, and in that case, where are they going to work for their summer. Selected students were announced by Google on 1900UTC, 25th of April, a few days after the dedup meeting.

          The list of accepted students, along with their project proposals as well as their mentors are given below.
          Fabiano Fidencio - "Get our Mac Port up to speed" - Mentored by Marc Maurer
          Volodymyr Rudyj - "Implement an ePub filter" - Mentored by Xun Sun
          Chen Xiajian - "Implement Hyphenation" - Mentored by Kathiravelu Pradeeban
          Aseem Sharma - "Port AbiWord to Gtk-3.0" - Mentored by Jean Bréfort
          Andrei Sfrenț - "Reduce flickering" - Mentored by Martin Sevior

          An important factor to notice is that, since 2006, AbiWord has successfully been participated in all the Google Summer of Codes (2006, 2007, 2008, 2009, 2010, and 2011). Hence this becomes the 6th consecutive year for AbiWord to participate in Google Summer of Code! I wish the 5 students who got selected a great summer of code with AbiWord, and I hope they will continue to be a long term contributors even after their summer. At the same time, I should also note that, we had to miss a few nice students as we have only 5 slots. Hope they will still continue with their development on AbiWord.

          Friday, March 18, 2011

          AbiWord and Google Summer of Code - 2011

          AbiWord has been accepted as a mentoring organization for Google Summer of Code 2011. It should also be noted that AbiWord has also been a mentoring organization in the Google Summer of Code for the years 2006, 2007, 2008, 2009, and 2010 too, making this time the 6th consecutive year.

          Have a look at the project ideas from AbiWord. List of selected mentoring organizations can be found here.

          Update: Pls find the latest revised version of this presentation at 

          Sunday, March 13, 2011

          [Archive] Abi the Ant

          I was going through the credentials of AbiWord and noticed, it was mentioned as, written by, "Abi the Ant " I found "Abi the Ant" was employed at AbiSource, Inc. as an open source evangelist. I later realized that it was just a character introduced by Eric Sink, the founder of AbiSource, and others, to represent AbiSource in LinuxExpo, other conferences, and elsewhere, similar to the Linux Tux. Abi the Ant was gladly answering the user queries. There were also discussions on making the Ant appear on the welcome splash screen of AbiWord. Anyway, as I see, unfortunately the life time of the Ant was not pretty high like that of the Linux Tux. Almost everyone has dropped the interest in the ant, unfortunately.

          Wednesday, March 9, 2011

          Building AbiWord 2.9.0 on Ubuntu 10.04 / 64 bit from Source

          Short and sweet information on this can be found from AbiWord wiki. This post just deals with a few commonest errors found in building AbiWord, when it goes wrong.

          As we are happily moving towards the release of AbiWord-3.0.0, many developers are joining the effort. With the announcement of Google Summer of Code-2011, many students too are interested in joining the project. This guide targets to help anyone to build AbiWord on Ubuntu 10.04/64 bit. This is still applicable to many other linux distributions too, though it is tested on Ubuntu. Unlike the usual building guides, this one is going to follow the worst-path -- assuming every failed cases, for a complete novice.. :)
          So, as mentioned in the AbiWord's wiki page, let's start with installing autoconf.
          sudo apt-get install autoconf

          pradeeban@pradeeban:~/programs/abiword$ sh autogen.sh
          Can't exec "libtoolize": No such file or directory at /usr/bin/autoreconf line 189.
          Use of uninitialized value in pattern match (m//) at /usr/bin/autoreconf line 189.

          configure.in:130: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLL
                If this token and others are legitimate, please use m4_pattern_allow.
                See the Autoconf documentation.
          configure.in:131: error: possibly undefined macro: AC_PROG_LIBTOOL
          autoreconf: /usr/bin/autoconf failed with exit status: 1
          Running ./configure --enable-maintainer-mode ...
          configure: error: cannot find install-sh, install.sh, or shtool in "." "./.." "./../.."
          ==========================================================================================
          OK. We need libtool installed!

          sudo apt-get install libtool

          ==========================================================================================

          NOW!
          pradeeban@pradeeban:~/programs/abiword$ sh autogen.sh
          .............................
          checking pkg-config is at least version 0.9.0... yes
          checking whether gcc understands -Wall... no
          checking whether gcc understands -Wextra... no
          checking whether gcc understands -Wsign-compare... no
          checking whether gcc understands -Wpointer-arith... no
          checking whether gcc understands -Wchar-subscripts... no
          checking whether gcc understands -Wwrite-strings... no
          checking whether gcc understands -Wmissing-noreturn... no
          checking whether gcc understands -Wunused... no
          checking whether gcc understands -Wpointer-arith... no
          checking whether gcc understands -Wshadow... no
          checking for libpng... no
          checking for libpng14... no
          checking for libpng12... no
          checking png.h usability... no
          checking png.h presence... no
          checking for png.h... no
          configure: error: `png.h' not found, install libpng or specify CPPFLAGS to include custom locations

          As we can see, we will be installing each of the dependencies one by one, if we follow the same steps like this.
          But we actually need not to!
          pradeeban@pradeeban:~/programs/abiword$ sudo apt-get build-dep abiword
          Reading package lists... Done
          Building dependency tree      
          Reading state information... Done
          Note, selecting libwpd8-dev instead of libwpd-dev
          Note, selecting libxslt1-dev instead of libxslt-dev
          The following NEW packages will be installed:
            build-essential cdbs cvs debhelper diffstat dpkg-dev fakeroot fdupes g++ g++-4.4 gettext html2text intltool intltool-debian libaiksaurus-1.2-0c2a
            libaiksaurus-1.2-data libaiksaurus-1.2-dev libaiksaurusgtk-1.2-0c2a libaiksaurusgtk-1.2-dev libasio-dev libatk1.0-dev libboost-date-time-dev
            libboost-date-time1.40-dev libboost-date-time1.40.0 libboost-dev libboost-regex-dev libboost-regex1.40-dev libboost-regex1.40.0 libboost-serialization1.40-dev
            libboost-serialization1.40.0 libboost1.40-dev libbz2-dev libcairo2-dev libdbus-1-dev libdbus-glib-1-dev libdirectfb-dev libdirectfb-extra libenchant-dev
            libexpat1-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libgconf2-dev libgcrypt11-dev libgdome2-0 libgdome2-cpp-smart-dev libgdome2-cpp-smart0c2a
            libgdome2-dev libglade2-dev libglib2.0-dev libgnutls-dev libgoffice-0.8-8 libgoffice-0.8-8-common libgoffice-0.8-dev libgpg-error-dev libgsf-1-dev libgtk2.0-dev
            libgtkmathview-dev libgtkmathview0c2a libgucharmap2-dev libice-dev libicu-dev libidl-dev libidn11-dev libjpeg62-dev liblink-grammar4 liblink-grammar4-dev
            libloudmouth1-dev libmail-sendmail-perl libncurses5-dev liborbit2-dev libots-dev libots0 libpango1.0-dev libpixman-1-dev libpng12-dev libpopt-dev libpsiconv-dev
            libpsiconv6 libpthread-stubs0 libpthread-stubs0-dev libreadline-dev libreadline6-dev librsvg2-dev libsm-dev libsoup2.4-dev libssl-dev libstdc++6-4.4-dev
            libsys-hostname-long-perl libsysfs-dev libt1-dev libt1-doc libtasn1-3-dev libwmf-dev libwpd-stream8c2a libwpd8-dev libwpg-dev libwps-dev libwv-1.2-3 libwv-dev
            libx11-dev libxau-dev libxaw7-dev libxcb-render-util0-dev libxcb-render0-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev
            libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxml2-dev libxmu-dev libxmu-headers libxpm-dev libxrandr-dev libxrender-dev libxslt1-dev libxt-dev
            link-grammar-dictionaries-en orbit2 po-debconf quilt x11proto-composite-dev x11proto-core-dev x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev
            x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-xext-dev x11proto-xinerama-dev xtrans-dev xz-utils zlib1g-dev
          0 upgraded, 140 newly installed, 0 to remove and 3 not upgraded.
          Need to get 60.4MB of archives.
          After this operation, 269MB of additional disk space will be used.
          Do you want to continue [Y/n]? Y
           
          Now again,
          pradeeban@pradeeban:~/programs/abiword$ sh autogen.sh
          .......................................
          checking for libpng... yes
          checking for PNG... yes
          checking jpeglib.h usability... yes
          checking jpeglib.h presence... yes
          checking for jpeglib.h... yes
          checking for jpeg_read_header in -ljpeg... yes
          checking zlib.h usability... yes
          checking zlib.h presence... yes
          checking for zlib.h... yes
          checking for DEPS... yes
          checking for GTK214... yes
          checking for GSFGI... yes
          checking for PLUGIN... yes
          checking for OPENDOCUMENT... configure: error: Package requirements ( libgsf-1 >= 1.12 redland >= 1.0.10 rasqal >= 0.9.17 ) were not met:

          No package 'redland' found
          No package 'rasqal' found

          Consider adjusting the PKG_CONFIG_PATH environment variable if you
          installed software in a non-standard prefix.

          Alternatively, you may set the environment variables OPENDOCUMENT_CFLAGS
          and OPENDOCUMENT_LIBS to avoid the need to call pkg-config.
          See the pkg-config man page for more details.

          Let's fix the redland RDF dependency issue by installing it.
          pradeeban@pradeeban:~$ sudo apt-get install librdf0-dev

          again, pradeeban@pradeeban:~/programs/abiword$ sh autogen.sh Now it builds fine!
          ......................
          config.status: creating plugins/ots/xp/Makefile
          config.status: creating config.h
          config.status: config.h is unchanged
          config.status: executing depfiles commands
          config.status: executing libtool commands

          Configuration:
            host                  x86_64-unknown-linux-gnu
            dynamic binary        yes
            static binary         no
            platform              unix (embedded: no)
            toolkit               gtk
            debug                 no

          Optional features:
            menubutton            no
            printing              yes
            spell checking        yes
            status bar            yes
            emacs keybinding      yes
            vi keybinding         yes
            clipart               no
            templates             no

          Optional dependencies:
            gtk2 > 2.14           yes
            gnome-vfs             no
            gio            yes
            gsf-gio               yes
            goffice               yes

          Builtin plugins        
          Plugins                 opendocument

          Now type `make' to compile.

          pradeeban@pradeeban:~/programs/abiword$ make
          "make" goes fine too.
          Let's "make install" now!
          pradeeban@pradeeban:~/programs/abiword$ make install
          ...................
          test -z "/usr/local/share/abiword-2.9/ui" || /bin/mkdir -p "/usr/local/share/abiword-2.9/ui"
          /bin/mkdir: cannot create directory `/usr/local/share/abiword-2.9': Permission denied
          make[6]: *** [install-uiDATA] Error 1
          make[6]: Leaving directory `/home/pradeeban/programs/abiword/src/af/xap/gtk'
          make[5]: *** [install-am] Error 2
          make[5]: Leaving directory `/home/pradeeban/programs/abiword/src/af/xap/gtk'
          make[4]: *** [install-recursive] Error 1
          make[4]: Leaving directory `/home/pradeeban/programs/abiword/src/af/xap/gtk'
          make[3]: *** [install-recursive] Error 1
          make[3]: Leaving directory `/home/pradeeban/programs/abiword/src/af/xap'
          make[2]: *** [install-recursive] Error 1
          make[2]: Leaving directory `/home/pradeeban/programs/abiword/src/af'
          make[1]: *** [install-recursive] Error 1
          make[1]: Leaving directory `/home/pradeeban/programs/abiword/src'
          make: *** [install-recursive] Error 1


          If this permission issue arises, pls change the write permission of usr/local/share, usr/local/bin, usr/local/include, and usr/include/lib. That will make abiword-2.9 ending up in the above directories respectively.
          Again,
          pradeeban@pradeeban:~/programs/abiword$ make install
          Now it goes fine indeed!

          Now let's just run AbiWord from terminal and see whether it runs!
          pradeeban@pradeeban:~$ abiword 
          abiword: error while loading shared libraries: libabiword-2.9.so: cannot open shared object file: No such file or directory

          Typical linking issue.
          pradeeban@pradeeban:~$cd /lib
          pradeeban@pradeeban:/lib$sudo ln -s /usr/local/lib/libabiword-2.9.so

          Now again,
          pradeeban@pradeeban:~$ abiword

          YAYYY! AbiWord-2.9.0 is running!!!

          you also can debug AbiWord using gdb.
          pradeeban@pradeeban:~$ gdb abiword

          However, my apologies for posting this lengthy post for a simple task. Just followed the worst case to cover all the student queries regarding building AbiWord-2.9.0 from trunk using Linux on terminal.