Sweet Success..or well a part of it

Hello there,

If you’ve been following my posts for a while then you might have realized that I’m not good at blogging regularly, especially when it comes to my work. However, after over a month of coding, and over two months of being accepted into the Google Summer of Code, I am proud to share some tangible development that I have done. After some slight changes, my working branch of KGet, now has a good minimal support for Metalink HTTP as described by RFC 6249.
Here is a brief summary of what it supports

  • Download from multiple mirrors as specified in the HTTP header response
  • Secure verification of hashes as specified in the HTTP header response.

 

Here is a set of pictures to show its test use while downloading http://download.services.openoffice.org/files/stable/3.3.0/OOo-SDK_3.3.0_Linux_x86-64_install-deb_en-US.tar.gz

 

ImageImageImage Image

 

Getting back…… (Part II)

So, here it is, I admit it, I am a lazy blogger or maybe I’ve just been too busy to blog. Either way, its been a long time since I last updated the status of my GSoC project.
As of now, quite bit of implementation of RFC 6249 has been done. I’ve almost successfully made a download using the newly created Metalink/HTTP support in the Metalink plugin. However, some rough edges still remain. I shall be posting more about it later.

Getting back to writing about stuff I’ve done (Part I)

Metalink/HTTP Header Response Viewer

Metalink/HTTP Header Response Viewer

I guess its been a little while since I’ve blogged about the Google Summer of Code project I’ve been doing. Yes, I admit it, I am a super lazy when I comes to talking about my work. Okay, now moving on from my laziness to blog to the project’s current status, things have been going quite well with the project now. If I remember correctly, the last time I blogged, I had a few early bumps in the road. Back then, I was a lost soul trying to figure out the best possible way to get the information in an HTTP header response using KIO. However, after days of discussion and research, all that I came up with was a similar implementation based in Qtlibs (rather than KIO). The complete source code for that particular implementation is available here, feel free to fork it and try something cool 🙂

And though it was one of those quick and dirty hacks, his however was not at all satisfactory from the project’s point of view. So, there I was on week one of Google Summer of Code, pretty much clueless about how on earth was I going to implement the feature.

……………………..
(More to come in the next post)

-ard

…git actually has a sim…

…git actually has a simple design, with stable and reasonably well-documented data structures. In fact, I’m a huge proponent of designing your code around the data, rather than the other way around, and I think it’s one of the reasons git has been fairly successful […] I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships.

Making the right move (aka migrating from svn to git)

Its been a while since I last posted about my experience as a Google Summer of Code student. Continuos travel of over 1800 kms by Indian railways and Nepalese airways can be really tiresome for someone who spends most of his time infront of a silicon screen.

Still, its been around a week since I arrived in Nepal, and I admit it has not been easy working here with the ten hour per day power cuts and frequent internet outages thanks to our government owned Electricity Board and semi state owned Nepal Telecom. Despite of this, my first task, which I admit should have been done long ago was to migrate the KDE svn hosted Kget repo to a more “branch friendly” version control system, namely Git. 

As I’ve never really used svn to the fullest, except for a while coding for Apertium, it was quite obvious for me to opt for migration from svn to git. But deciding on migration was not the difficult part, the difficult part was figuring out How ?)
So, here I was, almost clueless, about how to migrate from svn to git. After going through a lot of tutorials on this topic, I did manage to import from svn to git, with all the commit history since the CVS era. But alas, as kget was to be compiled along with kdenetwork module, my 8 hours of continuous “migration”  failed miserably. 
Disappointment was obvious, as I laid there on the first day of my GSoC coding period without a “proper”  repo.
 However, after a series of discussion on the kde-devel IRC channel, and emails from my mentor, I was delighted that the task of migration can be done without the history, and was a trivial task of pushing the svn checkout to github. 
Thus, with some effort, I had started, and commited my first line to git. 
Here is my new github repo where development is underway:  https://github.com/ardahal/metalink-kget-nohist
-ard

…..because the first steps are the longest strides

Okay, getting into Google Summer Code, that too in your first attempt is something, but not working for the first fortnight of the community bonding period is something awfully “uncool” and “unprofessional”. No matter how less worse I may try to frame the words to describe  my first two weeks of Google Summer of Code’s Community Bonding, I had the feeling of behaving unprofessionally by not thinking over the project and planning for it during the first fifteen days primarily due to the hectic examinations schedule here at NIT Warangal.
So, with exams over, my first step was to let myself familiarize with the system and the plans that I would be working on. In order to do this, after a brief discussion with my mentor, I found out I had several key areas to be concerned about before the coding period start which starts in about two weeks. One of these is to understand KIO and its use in KGet. Apart from this a major task shall be to understand Metalink/XML’s implementation in KGet. After learning about the implementation, I shall be heading over to a detailed read of RFC6249 understanding the standards that need to implemented.
In addition to this , I shall be working a separate  git repository with a working branch for the GSoC project, instead of risking the chances of messing up things by working with the not so branch friendly svn.
Well, that much for now. Its my last week in India, and hopefully last week behind a network firewall of NIT Warangal that allows connections only at ports 80 and 443. Looking forward to working a firewall free internet, the awesome Nepalese weather and not to mention, kicking off with the actual coding.
– ardahal

The start of the journey

It has been just over twenty four hours, since my proposal for Google Summer of Code 2012 was accepted. Though I have quite a bit of open source experience, I consider myself pretty much naive on several issues. Perhaps, coming from a C/C++ background and having passion and experience were the key factors that helped my proposal’s acceptance. Whatever it is, being the first person from my university and fourth ever from my country to be accepted, surely brings along a lot of responsibility and pressure to perform well and contribute quality code during the period of Summer of Code.
For now, I am in touch with my organization’s program administrator and also with my mentor. Perhaps a few reads through some RFCs and through some lines of KGet code. Not to mention that going back to an SVN based project after getting used to Git is surely going to be a rough ride for me. Looking forward to all the fun.

– ardahal