Tuesday, 5 May 2015

How to make a screen operation gif nicely

With LICEcap  you can create something cool like this. Below is how you remove a repository from BitBucket.

Thursday, 30 April 2015

Distributed revision control

In computer programmingdistributed revision control, also known as distributed version control or decentralized version control, allows many software developers to work on a given project without requiring them to share a common network. The software revisions are stored in a distributed revision control system (DRCS), also known as a distributed version control system (DVCS).

Distributed vs. centralized

Distributed revision control takes a peer-to-peer approach to version control, as opposed to the client-server approach of centralized systems. Rather than a single, central repository on which clients synchronize, each peer's working copy of the codebase is a complete repository. Distributed revision control synchronizes repositories by exchanging patches (sets of changes) from peer to peer. This results in some important differences from a centralized system:
  • No canonical, reference copy of the codebase exists by default; only working copies.
  • Common operations (such as commits, viewing history, and reverting changes) are fast, because there is NO need to communicate with a central server.
  • Communication is only necessary when sharing changes among other peers.
  • Each working copy effectively functions as a remote backup of the codebase and of its change-history, protecting against data loss.
Other differences include:
  • Multiple "central" repositories.
  • Code from disparate repositories is merged based on a web of trust, i.e., historical merit or quality of changes.
  • Numerous different development models are possible, such as development / release branches or a Commander / Lieutenant model, allowing for efficient delegation of topical developments in very large projects.[3] Lieutenants are project members who have the power to dynamically decide which branches to merge.
  • Network is not involved for common operations.
  • A separate set of "sync" operations are available for committing or receiving changes with remote repositories.
DVCS proponents point to several advantages of distributed version control systems over the traditional centralised model:
  • Allows users to work productively when not connected to a network.
  • Makes most operations much faster.
  • Allows participation in projects without requiring permissions from project authorities, and thus arguably better fosters culture of meritocracy[citation needed] instead of requiring "committer" status.
  • Allows private work, so users can use their changes even for early drafts they do not want to publish.
  • Avoids relying on one physical machine as a single point of failure.
  • Permits centralized control of the "release version" of the project
  • On FLOSS software projects it is much easier to create a project fork from a project that is stalled because of leadership conflicts or design disagreements.

More from here.


Git (/ɡɪt/[4]) is a distributed revision control system with an emphasis on speed,data integrity,and support for distributed, non-linear workflows.Git was initially designed and developed by Linus Torvalds for Linux kernel development in 2005, and has since become the most widely adopted version control system for software development.

As with most other distributed revision control systems, and unlike most client–server systems, every Git working directory is a full-fledged repository with complete history and full version-tracking capabilities, independent of network access or a central server. Like the Linux kernel, Git is free software distributed under the terms of the GNU General Public License version 2.


Git's design is a synthesis of Torvalds's experience with Linux in maintaining a large distributed development project, along with his intimate knowledge of file system performance gained from the same project and the urgent need to produce a working system in short order. These influences led to the following implementation choices:
Strong support for non-linear development
Git supports rapid branching and merging, and includes specific tools for visualizing and navigating a non-linear development history. A core assumption in Git is that a change will be merged more often than it is written, as it is passed around various reviewers. Branches in Git are very lightweight: A branch in Git is only a reference to a single commit. With its parental commits, the full branch structure can be constructed.
Distributed development
Like DarcsBitKeeperMercurialSVKBazaar and Monotone, Git gives each developer a local copy of the entire development history, and changes are copied from one such repository to another. These changes are imported as additional development branches, and can be merged in the same way as a locally developed branch.

and much more...
More from here.

Tuesday, 21 April 2015

Creating instance based on AMI

If you want this new instance to be on the same VPC (virtual private Cloud) as some instance, you can find out which VPC those existing instance are on by click on them and check details, for example:

Then you can choose the same network and subnet for the new instance.

Total visitors since Jan 2012

World Visitor Map