Following is my application, I would welcome your valuable comments and suggestions:<br>Thanking you.<br><br><br>
        <meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
        <title></title>
        <meta name="GENERATOR" content="OpenOffice.org 2.4 (Linux)">
        <style type="text/css">
        <!--
                @page { size: 8.5in 11in; margin: 0.79in }
                P { margin-bottom: 0.08in }
                H5 { margin-bottom: 0.08in }
        -->
        </style>
<pre style="text-align: left;"><strong><font face="Times new roman, serif"><font size="3"><span style="">Kumar Abhishek</span></font></font></strong>
<strong><a href="mailto:kr.abhish@gmail.com"><font face="Times new roman, serif"><font size="3"><span style="">kr.abhish@gmail.com</span></font></font></a></strong>
<strong><font face="Times new roman, serif"><font size="3"><span style="">irc:kumarabhi_</span></font></font></strong>
<strong><font face="Times new roman, serif"><font size="3"><span style="">National Institute of Technology </span></font></font></strong>
<strong><font face="Times new roman, serif"><font size="3"><span style="">Trichy,Tamil Nadu, India</span></font></font></strong>
<font face="Times new roman, serif"><font size="3"><a href="http://sites.google.com/site/ic10503/Home/kget.pdf">Download this file in pdf format</a></font></font>
</pre><h5 align="justify">
<strong><font face="Times new roman, serif"><font size="3">Google
Summer of Code 2009</font></font></strong></h5>
<p align="justify"><strong><font face="Times new roman, serif"><font size="3">Multiple
Improvements to KGet</font></font></strong></p>
<p align="justify"><br><br>
</p>
<p align="justify"><strong>Motivation for Proposal / Goal:</strong></p>
<p align="justify"><strong><span style="">There are
a lot of nice download managers available for windows platform but
very few for linux platform and those available for linux platform
lack a lot of important features . One of the very useful download
managers for KDE is KGet. The aim of the project is to make KGet
easier to use and increase its functionalities so as to bring it at
par with other download managers.</span></strong></p>
<p><br><br>
</p>
<p><b>Implementation Details:</b></p>
<p><b>Right Click Context Menu Extension:</b></p>
<p style="">Currently the right click context menu
needs to be extended so that it has the following options:</p>
<ul><li><p style="">Change Filename: The filename of
        the final downloaded file could be changed using this.</p>
        </li><li><p style="">Change Destination Directory:
        This will change the current destination directory to a new one as
        specified by the user.
        </p>
        </li><li><p style="">Change URL: The URL from which
        the download is currently taking place will be changed to the new
        one. The download will resume from the portion which has not been
        downloaded yet.</p>
        </li><li><p><span style="">Download All feature:</span>
        Adding all downloads linked to the current page to KGet. It will be
        easy to download multiple files with this feature. The user <span style="text-decoration: none;">can
        choose to download the whole website with all its content on current
        page, or special files, like mp3, mpg, jpg, zip, xls etc. This
        feature will not support recursive downloads. </span>
        </p>
</li></ul>
<p><br><br>
</p>
<p><b>Batch Download Feature:</b></p>
<p><span style="">It will be possible to add a
group of sequential file names like img001.jpg,
img002.jpg,..,img100.jpg to the KGet download queue. The astrisk
wildcard will be used for the file name pattern. For example :
</span><a href="http://www.googglee.com/pictures/img*.jpg">http://www.googglee.com/pictures/img*.jpg</a></p>
<p style="">There will be option to specify the
wildcard length and to replace astrisk to number or letter(from a to
z).
</p>
<p><br><br>
</p>
<p><b>GUI to create Metalinks:</b></p>
<p style="">This will provide a gui dialogue box
to create Metalinks from already downloaded files , or from other
local files located on disk. This will include MD5 and PGP checksum
integration.</p>
<p style="">Some of the project deliverables can
be found at <a href="http://ic10503.wordpress.com/">http://ic10503.wordpress.com/</a></p>
<p style=""><br><br>
</p>
<p><b>Nepomuk Integration:</b></p>
<p style="">It will allow passing the metadata
about downloaded files to Nepomuk semantic desktop. As mentioned on
the mailing list for kget, its mostly done but crashes currently. So
this project will aim at fixing this.</p>
<p style=""><br><br>
</p>
<p><b>Multisource Downloading or Segmented Downloading:</b></p>
<p><span style="">It will provide a more efficient
way of downloading files from many sources(all the links containg
that souces have to be provided and sources may be HTTP or FTP or
BitTorrent) at once. It will</span> connect to one source and begin
downloading the desired file, then use the another link for the same
file and begin downloading that file as well. The program controls
downloads so that each source file provides separate data and the
user does not download the same part of the file twice. The program
then builds the file on the downloader's computer much faster than it
would if it had to wait for the entire file to be downloaded from a
single source.</p>
<p>This works faster because the rate at which the file servers
upload is finite and download rates are generally faster than upload
rates. Therefore, downloading from a single server would create a
bottleneck if the server's upload rate does not equal our maximum
download rate. So distributing the download across multiple servers
allows us to utilize all of our download rate potential.</p>
<p>As mentioned on the mailing list, the Transfer plugin is already
implemented and the DataSouceFactory Class is already half done, so
this project will aim at full implementation of the DataSouceFactory
Class and make it working so that the Multisource Downloading Feature
works properly in KGet.
</p>
<p><br><br>
</p>
<p><b>Verification of digital signatures:</b></p>
<p style="">This will involve the integration of
Kgpg into KGet which will let the users easily create cryptographic
keys, and write, encrypt, decrypt, sign, or verify files. One can
make public or private keys, and can export/import keys. A user can
sign the keys, and set an expiration date.</p>
<p style=""><br><br>
</p>
<p><b>Repairing downloads using Metalinks:</b></p>
<p><span style="">This feature will add support
for repairing downloads via Metalinks with chunk checksums.</span> If
there are errors in the download, they will be repaired, instead of
restarting the whole download again.</p>
<p><br><br>
</p>
<p><b>KGet as Offline Website Copier:</b></p>
<p>It feature will enable KGet to download a World Wide Web site from
the Internet to a local directory, building recursively all
directories, getting HTML, images, and other files from the server to
the computer. HTTrack arranges the original site's relative
link-structure. Finally one can open a page of the "mirrored"
website in the browser, and one can browse the site from link to
link, as if it is online. This feature may also be extended to enable
updation of an existing mirrored site, and resume interrupted
downloads(this updation feature may be implemented if other parts of
the project gets implemented well before time). This will try to make
the features as close as possible to HTTrack website copier.</p>
<p><strong><font face="Times new roman, serif"><font size="3"><b>Download
of FLV files:</b></font></font></strong></p>
<pre style="text-align: justify;"><strong style="font-weight: normal;"><font face="Times new roman, serif"><font size="3"><span style="">A very important feature which is needed in KGet is to download and save FLV video files from popular sites of YouTube, MySpaceTV and Google Video. Once<br>
KGet is integrated with firefox or Konqueror, this feature will enable one to downlaod a video that is being playing from these sites and the user would be able to save it<br>on his/her computer. </span></font></font></strong>
<strong><font face="Times new roman, serif"><font size="3">Tentative Timeline:</font></font></strong>
<em><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;">1</span></font></font></em><em><sup><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;">st</span></font></font></sup></em><em><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;"> April to 20</span></font></font></em><em><sup><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;">th</span></font></font></sup></em><em><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;"> May                :Familiarizing myself with KGet codebase and specifications. </span></font></font></em>
<em><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;">21</span></font></font></em><em><sup><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;">st</span></font></font></sup></em><em><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;"> May to 15</span></font></font></em><em><sup><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;">th</span></font></font></sup></em><em><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;"> June                :Implementation of </span></font></font></em><em><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;"><span style="">Right Click Context Menu Extension, Batch Download Feature and Nepomuk Integration.</span></span></font></font></em>
<em><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;">16</span></font></font></em><em><sup><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;">th</span></font></font></sup></em><em><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;"> June to 15</span></font></font></em><em><sup><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;">th</span></font></font></sup></em><em><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;"> July                 :Implementation of </span></font></font></em><em><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;"><span style="">GUI to create Metalinks, Multisource Downloading,Verification of digital signatures,Repairing downloads using Metalinks.</span></span></font></font></em>
<font face="Times new roman, serif"><font size="3">16<sup>th</sup> July to 25<sup>th</sup> July                :Implementing KGet as Offline Website Copier and Download of FLV          files.</font></font>
<font face="Times new roman, serif"><font size="3"><span style="font-style: normal;">26</span></font></font><sup><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;">th</span></font></font></sup><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;"> July to 17</span></font></font><em><sup><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;">th</span></font></font></sup></em><em><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;"> August:         :Writing Documentation. Bonus Time ! Fix bugs, write random code, make mentor happy :)</span></font></font></em>
<strong><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;"><span style="text-decoration: none;">Any other obligations from late May to early August (school, work, etc.)?</span></span></font></font></strong><em><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;"><span style="text-decoration: none;"><b>:</b></span></span></font></font></em>
<em><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;">I do not have any planned absences or any conflicts with any vacations and I can fully commit myself to the project. </span></font></font></em>
<em><font face="Times new roman, serif"><font size="3"><span style="font-style: normal;">I will write weekly reports to let my mentor know what's my current stage of the project (mostly about things that I have done and difficulties I have encountered).<br>
Of course I'd like to stay in contact with developers and mentor using IRC, emails and forum. </span></font></font></em>
<strong><font face="Times new roman, serif"><font size="3">Bio:</font></font></strong>
<strong style="font-weight: normal;"><font face="Times new roman, serif"><font size="3"><span style="">I am a 23 year old bachelor of engineering student at National Institute of Technology, Trichy, India. At the age of 10, I was introduced to world of computers in my<br>
school. I have always been a top scorer in all of my programming courses. I have 3 years of experience in C, C++ (including Standard Template Library(STL) ), HTML, <br>PHP and MySQL. I have a good working knowledge of Qt and Javascript too. In my first year of college, I created a Discussion Forum using PHP, MySQL and<br>
Javascript.</span></font></font></strong>
<strong style="font-weight: normal;"><font face="Times new roman, serif"><font size="3"><span style="">        I am currently in my final(fourth) year in college and have developed a deep interest in programming and open source world. I got the opportunity to work on quad<br>
core and octa core processors in my project in IIT Chennai, India where I developed parallel versions of all-pair shortest path algorithms and their implementations using<br>Intel's Threading Building Blocks library for multicore processors and good speedups were obtained. Apart from that I developed a Patient Monitoring System for<br>
IBM-The Great Mind Challenge Competition(TGMC) wherein I developed a web interface for monitoring and report generation using technologies like JSP, Ajax & <br>IBM DB2. </span></font></font></strong>
<strong style="font-weight: normal;"><font face="Times new roman, serif"><font size="3"><span style="">         Besides this I developed new routing protocols in NS-2(Network Simulator) where programming in C++ and Tcl was involved. I have also used different version <br>
control systems like CVS/SVN.</span></font></font></strong>
<strong style="font-weight: normal;"><font face="Times new roman, serif"><font size="3"><span style="">        My next step is to get involved and contribute to an open source project. I chose KGet because this is what I use for downloads and this is where I would like to<br>
see improvements. KGet is one of the best download mangers I have ever used and I love using it. I sincerely hope that my summer of code project with KGet will lead<br>me to be a full time KDE developer. </span></font></font></strong></pre>
<br>