Showing posts with label Visual Studio. Show all posts
Showing posts with label Visual Studio. Show all posts

Tuesday, November 15, 2011

Porting applications...


Regardless of what the open source community thinks about Microsoft, they do make some really awesome IDEs for software development for their platform. Granted, in the previous years, these IDEs were a costly affairs but lately, Microsoft have made many amends to their earlier offensive stand against the Open Source community. They have the website spark programme and the express editions of the development tools which are available for download free of cost. Also these IDEs are very intuitive in helping the developer with the development, he can now find references easily, even while debugging the code, just hovering over the object can tell you from which class its being inherited from. This was something very much evident in the recent porting of the application that I have been performing for my own understanding.

I found this application online which is a bit torrent client (as I had mentioned in a few of my earlier posts, btpeer is what I am talking about) made solely in VC++. So since I don’t have Visual Studio 6 (the project for which was made available), I just opened that project up in Visual Studio 2010 which I happen to have, and lo behold, the project was just converted to the new standards. I have to say that the OpenSSL errors were present but that was simply because it couldn’t resolve the dependencies. This, I solved by just downloading and installing OpenSSL, downloading the source code, adding the directories to the include and lib paths for Visual Studio and the program just compiles as it should.

Anyways, I’ll go off to work on it..

Sunday, November 13, 2011

Yet Another Bittorent Client


So, I want to learn C#. I have access to the Visual Studio IDE for writing the code in C#. So I though, the best way to go about it is to start writing your own application, a windows installer, which will obviously be open source. Now I wasn’t sure what kind of an application should I create. Then I thought of using the most widely used application on my machine after iTunes. This would be the Bit Torrent client. This is the official client; which obviously follows the latest protocols and all. This isn’t open sourced. They stopped open sourcing their app after version 5 or so it seems. This I've read from Wikipedia.

So, to make my bit torrent client (which for now I would like to call Yet Another Bit torrent Client - YABC), I needed to first understand the architecture that is usually used by these apps, and most important of all, understand the bit torrent protocol. This wouldn’t be easy. So I had a better idea, I thought, rather than investing time in understand the protocol as of now, I might as well borrow the code for the protocol from some other app which is under FOSS. But then again I had a problem.

All the apps which are currently popular and available are all written in python. The trouble is that python is a language I am totally not familiar with as of now. Also, I was planning to make an app through and through in C# and .NET. So I just Googled the best I could and lo behold – I found this - http://www.alhem.net/project/btpeer/index.html. This is the btPeer client which is solely written in C++. Now the thing is, I work in C++ full time and know the language well enough to be able to port an application from it to C#. Another plus is that there is already a project readily available for Visual Studio, thus I will only have to port the application directly to VS2010; using which, when I build the project, I should have to project ready.

I will register the project at SourceForge or Google Code and also maybe github so that the configuration part of the project is handled well. More on this as things progress. Later.