Friday, September 18, 2009

Configuration Management Using Subversion

About Subversion

Subversion (SVN) is a open source version control system. In a 2007 report by Forrester Research, Subversion was recognized as the sole leader in the Standalone Software Configuration Management (SCM) category and strong performer in the Software Configuration and Change Management (SCCM) category.


The Subversion filesystem is described as a "three dimensional" filesystem. Since most representations of a directory tree (e.g tree view) are two dimensional, the added dimension is that of revisions.


Properties are used in two different places in the Subversion filesystem. The first is on filesystem entries (i.e., files and directories). These are versioned just like other changes to the filesystem. Users can add any property they wish, and the Subversion client uses a set of properties, which it prefixes with 'svn:'.

Locking versus Merging

In a file locking system, the developer locks a versioned file when beginning to make changes. While the file is locked, no other developer will be allowed to make any changes. Then, when the developer has finished, the changed file can be committed back into the repository and the file can be unlocked.

The upside to file locking is that it enforces very organized division of work, in order to minimize the number of times where two developers need to modify the same source file or section simultaneously. It can also work better than merging when working with files that are not easily merged automatically, such as graphics, or files in proprietary binary formats. On the other hand, locking can disrupt development if progress is blocked by two developers competing to work on the same file. The problem can be magnified further if one of those developers forgets to unlock the file when finished. In general, locking scales very poorly and is unworkable for broad use by projects involving more than a few people.

The second method for handling collision avoidance/resolution is the use of automatic or semi-automatic file merges. In this model, developers can modify files in their working copies of the repository without regard for what others are doing. Then, once the developers have finished making their changes, they can commit those changes, and the version control system will check to see if there are any collisions caused by two people simultaneously editing a file. In many cases, the system will automatically merge two files together; but if it can't, most systems will provide the developer making the commit with information about the conflicted area, to allow the developer to merge the changes by hand.

Branching and tagging

A new branch or tag is created with the 'svn copy' command. Subversion does not create an entire new file in the repository with its copy. Instead, the old and new files are linked together internally and the history is preserved for both. The copied files take up only a little extra room in the repository because Subversion saves only the differences from the original files.

All the files in each branch maintain the history of the file up to the point of the copy, plus any changes made since. Changes can be 'merged' back into the trunk or between branches.

Visualization of very simple Subversion project.

  • Branches are just copies of the main trunk

    • Make changes in the copy
    • Merge the changes back to the main trunk
  • Tags are copies which are never changed

    • Might not even be necessary if you simply record the global revision number that built your product

Projects in my Organization (click on picture for a clear view)

Face Detection and Recognition


As one of the most successful applications of image analysis and understanding face recognition has recently gained significant attention. In this paper, we present a proposed system for detecting a face in a given input image, extracts features from it, measures several identifying parameters and stores them in a database. At a later date, in order to recognize an individual it will again perform the same steps and match the parameters with those in the database. This Face Detection and Recognition System shall be a really effective biometric identification tool.


    • Arpan Chakraborty
    • Jit Ray Chowdhury
    • Abhra Chattopadhyay
    • Ankit Choudhury


Different approaches have been tried by several groups, working world wide, to solve the problem of human face recognition. Many commercial products have also found their way into the market using one or the other technique. But so far no system / technique exists which has shown satisfactory results in all circumstances. A comparison of these techniques needs to be done. In this context, we will try to do a comparative study of the performances of three algorithms - Eigenfaces, Artificial Neural Networks, and Hidden Markov Model based methods for face recognition. Often the problem of face recognition is confused with the problem of face detection. The two are related problems but definitely not the same. The latter is often done as a preprocessing step to obtain the position of the face, in the image, to be recognized. We then present a System Design for our proposed system that shall perform both Face Detection and Face Recognition.


The following sequences of images and the corresponding texts illustrate the results obtained from our system.

Wednesday, July 2, 2008

Computer Security

Actually this is a presentation that I made for a seminar at Dinabandhu Andrews Institute of Technology and Management. Here I'm just gooing to give a preview of the content and links to it..

It starts with virus and protection from them. It also have a brief description on trijan,worm and spywares. Then it is followed by what is hacker? and their attitude, their work, the basic skills requird, different classification and how to be one. And finally how to hack, why we need to know all this, the phases involved in hacking.

You can dowload the presentation with ppt viewer integrated @

Or See in online @ (all slides may not be visible)
Read this document on Scribd: Computer Security

Friday, May 16, 2008

Final Destination

It's been a long time that I have started this blog and haven't posted anything so let me start with documentation of my old projects that some of you may have some interest in.

Final Destination is A Computer Vision guided Robotic System that we build for competing at techfest organized by IIT-bombay (Pixel) and IIT-Kharagpur(I.M.A.G.E.).


  • Jit Ray Chowdhury
  • Arpan Chakraborty
  • Trisha Biswas
  • Saptarshi Debnath
  • Abhra Chattopadhyay

Computer Vision and Autonomous Robot Control are active fields of research that have immense possibilities and applications in today’s world. Their successful integration into an intelligent robotic system has been a challenge that researchers have tackled using several different paradigms. We present here a wireless mobile robot design and an intelligent software system to control it. The system is primarily based on Computer Vision as its sensory input, and is capable of several navigational behaviours. The unique feature of our design is a multi-threaded approach that facilitates parallel execution of sensory processing, decision-making and robot control.