Archive for the ‘Open Source’ Category
Posted on March 28, 2011 - by Sarath
How to apply for Google Summer of Code – A byte of note
Google Summer of Code organizations list has been published. Soon, within april 8th you will be able to submit your applications. Google summer of code is a premier Open Source programs managed by Google. The certificate of Google Summer of code adds higher market value to your resume. You will be receiving certificate stating 3 months Student Developer for Google and also you will be receiving a good paycheck of $5000.
I participated thrice (2008,2009,2010) with different organizations. I would like to give you few advices regarding how to apply and participate.
There are 171 open source organizations got accepted by Google for GSOC 2011. You can see the list from:
http://socghop.appspot.com/program/accepted_orgs/google/gsoc2011
Each of the organizations will accept few projects (No of projects as per decided by google). No of projects for each organization varies according to the market value of organizations. You can submit one or more (I prefer 3 applications) to same or different organizations.
Each of the organizations will have there project ideas page. You can select an idea that interests you or propose a new idea to them. (But already listed idea has more changes to get accepted – I feel so).
Each student who get accepted will be assigned with a mentor from the corresponding organization. Mentor will be a very experienced guy who is already contributing to the projects. In my case during my first summer of code, surprisingly my mentor John Palmeri is the author DBus-IPC, Gnome Executive and Author of GNOME network manager. You can get such kind of exposure during the project.
How to apply for a project ?
Go through the accepted organization list, Click on the organization, Go to the ideas page. You can find many ideas listed with details (Prerequisite, Difficulty level, Expected mentor, Contact person, Related information URL, URL of mailing list, etc). If you find some idea interesting, invest some time researching about the background, and related technologies related to the idea. Once you gain basic information about what you exactly need to do with project and what technologies you should use, contact the mentor or person listed.
To collect necessary details about the project and get the background of technology, look into mailing list associated with the project/organization. You can also subscribe to the mailing list.
Contacting organization or associated person:
e-mail :
Write properly what idea you want to work on, your background and how you wanted to work on the project. Include as much as details on how you will implement the project and ask necessary questions.
IRC Chat:
If you are not familiar with IRC, IRC is a type of group chat system widely used in Open Source development environment. Each organization will have a channel (Eg. #pardus-devel – pardus linux developers channel), where you can login and chat with a registered nickname. For open source project, the chat server will be irc.freenode.net.
To use IRC, you can install XChat client using: sudo apt-get install xchat
or use the webchat interface
http://webchat.freenode.net/
For basics of IRC chat, read http://www.irchelp.org/irchelp/irctutorial.html
You can use the assigned contact person’s nickname to contact him over IRC.
IRC is a public chat where many are interacting each other. Please do not spam or ask stupid questions like (I am newbie. I want to participate in GSOC. Plzzz help.)
Write proper words rather than using chat language like ( u thr. plz. i gt ths idea frm). Do not flood the channel. Be very decent and formal over the chat channel.
Before you ask questions, I strictly recommend read this article to following the hacking culture:
http://www.catb.org/~esr/faqs/smart-questions.html
How do each organization select Project proposals ?
From my experience, there will be a group of people from the GSOC organization who review the project proposals. They will have an internal voting system. They vote induvidually and rank the list of proposals. According to the number of project slots assigned for the organization, they select the higher ranked proposals. The most higher preference is always to get successful completion of projects. So they look heavily at the strength of your project proposal. The project proposals that consist of as much strong details to support the fact that you are going to complete the project get accepted.
How to write a project proposal ?
Usually you will find a specified format for the project proposal for each of the organization. Once the application period opens, you will come to know about the format.
To have strong proposal I recommend to include the following things:
- Your background. Showcase your abilities (Even if you haven’t done much. Market what you have)
- Do enough research on project ideas and arrive at list of technologies you want to use (Include libraries required, dependencies, challenges, diificulties). This should show much of research and effort you have invested in the project.
- List out the features of the idea you are going to implement and how it benefits. (You can discuss with the mentor and arrive with features and benefits)
- If you had contacted the mentor before and had positive conversations about the project and discussions. He might also talk about you to other individuals in the organization. You can talk the public organization IRC channel, it gives lot of attention to you from the members who are going to vote for your proposal. If you have discussed technical details and give confidence in your ability, that will be positive to you while they vote.
- Prototype (Optional)
Prototypes are bonus points for a proposal. You can create GUI prototype designs, code prototype designs, etc if necessary. (Last time, I coded a command Pardus Linux Live installer in 500 LOC, served as prototype) - Timeline
Timeline is a must for a project proposal. You should indicate how you are going to spend three months time to completion and development of project.
A good format will be :
Week 1 (May X – May Y) – Development of M module. Customization of C using T tool and commit changes…etc - Version control
You should be familiar with some version control systems like SVN, GIT, BAAZAR, etc
Here is a basic How to on SVN:?http://betterexplained.com/articles/a-visual-guide-to-version-control/
You should let then know that you are comfortable with the organization specific version control.
Before writing the proposal you should check out code from the corresponding branches related to your project idea.
For example, if you are contributing to Webcam app – Cheese, you should check out code of cheese using Git version control and build the application from source code and try out things.
All the best with your project proposals.
Posted on February 11, 2011 - by Sarath
KDE conference in India – confKDEIn
If you are a FOSS enthusiast or an avid GNU/Linux user, there is no need for an introduction to the KDE deskop environment. KDE one of the big and nice FOSS projects in the world. KDE is built up on the top of Qt toolkit.
KDE-India is organising conf.kde.in, an event for Qt and KDE contributors and enthusiasts to meet up, share their knowledge, contribute, learn, play, have fun and create limitless possibilities using Qt and KDE technologies.
KDE-India is a group of volunteers who are a part of the worldwide KDE community, and have been meeting up at various FOSS events in India. We have given Qt and KDE talks at various colleges and universities in India.
The main objective is to organize an all-inclusive conference on Qt and KDE in India that would cater to beginners as well as experienced folks.
This is not a high end geek conference but a beginner level conference where you can attend and learn a lot.
One of the primary goals of this conference is to make students aware of latest Qt and KDE technologies and trends. They will get a chance to listen and interact with Indian and international KDE contributors, industry professionals and Qt/KDE experts. We highly recommend students to take part in the event and learn how to create amazing Qt and KDE applications for desktop and mobile platforms and be part of the community. To find out more, do read our selection of talks and workshops on the conference website.
Block the dates 9 – 11 of March 2011 on your calendar to attend confKDEIn.
See you at confKDEIn.
To read more or register for the event, please check out http://conf.kde.in
Posted on February 3, 2011 - by Sarath
Yes, I Wrote a Book!
This is the time to unveil the news. Probably, many of my friends know that I was writing the book for last 6 months. Now, it is the proper time to let all of you know that I authored a book on Linux Shell Scripting, The Linux Shell Scripting Cookbook by Packt Publishers, UK.
[ Detailed Information ]
Language : English
Paperback : 360 pages [ 235mm x 191mm ]
Release Date : January 2011
ISBN : 1849513767
ISBN 13 : 978-1-84951-376-0
Author(s) : Sarath Lakshman
The book is written in cookbook style and consists of 118 recipes which showcases many real world scripting problems and solutions. The book is divided into 9 chapters based on subjects Basic commands, File related operation, Text processing, Networking, Backup and Archiving, Internet and web, System administration, etc.
I have been using purely GNU/Linux platform for more than 5 years now. UNIX-like operating systems had always amazed me with the command-line experience. The life would have been much difficult without the terminal and command-line. It takes some patient and experience with different problem environments to master the art of command-line and scripting. In many circumstances, problems such as text processing can be performed in one-liner scripts (Crafted line of command by joining pipes and filters). But the same problem can be solved in a very complex way using large number of lines of code. I have compiled many recipes from my experience to teach how to solve problems in simplest and beautiful manner with minimal lines of code.
It was in last April (2010), I happened to see mail from Packt publishers in search of author for Python Cookbook. That is how I thought of writing a book. I felt that experience I gained from shell scripting contests as well as daily usage experience would be enough for me to write a book. The process of authoring book was a good experience apart from my previous experiences on authoring articles for Linux For You. It takes more effort than an initial version of written material to make it to a productive and useful stuff during the editing process. Also I could learn more. The book is available in paperback as well as PDF e-book format.
Anyway, it is something really glad to have a book in hand that I wrote. I have a dedicated page about my book on this website. Please have a look to Book page. You can also go through publisher website packtpub.com for buying this book. You can download a sample chapter of the book from Book page in this website.
I am currently waiting for the paperback author’s copy to reach me by post.
As book release special, I have moved the website from my previous domain www.sarathlakshman.info to www.sarathlakshman.com. Please update your feed readers and bookmarks to point to this new website.
Happy Hacking!
Posted on December 30, 2010 - by Sarath
Pics-packet – A facebook application to download photos from facebook
I was busy with lots of interesting things and some upcoming projects. I have been hectic due to authoring of a book. I will lift the veil and post with more details in few weeks
.

Recently I had opportunity to look at the facebook Socialgraph API. Found it really cool. I never expected this much from the API. We can access every element that we access through facebook.com with the API. The SDK comes with so many languages like JS, PHP and more. It was interesting to go through the documentation page: http://developers.facebook.com/docs/.
Facebook API presents an interesting Facebook Query Language (FQL) which has similar syntax of SQL. Using FQL we can access entire data available on Facebook to be manipulated in the form of tables. As a simple example, there is a table ‘friends’ having two columns friend1 and friend2. We can get the list of friends for a user by using their user ID. Each user is provided with a user ID. My Facebook UID can be found out here : http://graph.facebook.com/sarath.lakshman.
Hence using the query “SELECT friend2 from friends where friend1=UID” we can fetch the list of friends user IDs. Using this IDs, by querying in the table ‘user’, we can get the names of the friends.
When I had to download photos from some of my facebook friends photo albums and tagged photos. I found it hard to manually filter out URLs and download the photos. But, after went through the facebook API, I had a thought ‘what if I could write a simple application to fetch all the photo URLs for a friend’s albums. In a couple of minutes, I wrote an FQL query to list all the photo URLs and downloaded the photos using wget. I forwarded by thought, I felt it would be great if there is some utility to build a zip of all photos from albums of a friend we search for. Also if we could get the photos by user tag that would be great. In the next day I started working on it. I remember it was a night. It wrote code in the entire night and I forgot to sleep. Before the sun rises, the the facebook application was completed with basic stuff. I showed the application to few of my friends and received the feedback that it would be great if we could download selected photos as zip. I thought of making the application public after designing a cool UI and feature enhancement. But I delayed in lack of time to work on it. I wasn’t getting enough time to hack on it. Last day I decided to make whatever I had written public with a feature addition to download selected photos. The facebook application pics-packet is public now. I have submitted the app for approval in facebook app directory.
I’m sorry guys. It has a poor UI and less-efficient code. It needs tuning. Unfortunately, I don’t have enough time to hack on it now. Maybe, will work on it later.
Here is the app:
and on facebook canvas: http://apps.facebook.com/picspacket/.
NOTE: Before you try the app, please go through the help. Else UI might seem confusing for you.
Happy hacking!
Posted on October 30, 2010 - by Sarath
I got recruited for Yahoo!
Finally, here is a piece of news.

I got recruited for Yahoo!




Solve real-world shell scripting problems with over 110 simple but incredibly effective recipes.

