git-pair - Exhibit your pair as an author name on your commits, with only bash and git as dependencies

  •        19

You can use as many pairs you want, all you need is keep issuing commands to add more authors. At the end of your pairing session, the above command will reset author names to your global configuration on Git.



Related Projects

git_scripts - Developer workflow convenience scripts

  •    Ruby

These scripts are helpers for managing developer workflow when using git repos hosted on GitHub. Install as a rubygem and they can be run as standard git commands like git about. Configures git authors when pair programming.

git_scripts - Developer workflow convenience scripts

  •    Ruby

These scripts are helpers for managing developer workflow when using git repos hosted on GitHub. Install as a rubygem and they can be run as standard git commands like git about. Configures git authors when pair programming.

XPairtise - Pair Programming for Eclipse

  •    Java

The Eclipse plug-in XPairtise provides a platform for distributed pair programming. This plug-in offers shared editing, project synchronization, shared program and test execution, user management, built-in chat communication and a shared whiteboard.

PEP - Pair Eclipse Programming

  •    Java

Eclipse plugin to Distributed/Virtual Pair Programming, with code (re)synchronization, chat, NAT/firewall traversal, strict adderence to PP principles. NO SERVER needed.

hitch - Git author attribution helper for pair programmers.

  •    Ruby

Git author attribution helper for pair programmers.

atom-pair - An Atom package that allows for epic pair programming

  •    Javascript

Remote pairing within the Atom text editor, powered by Pusher. Alternatively, go to the command palette via Command+Shift+P and go to Install Packages and Themes. Then search for and install atom-pair.

ls-pair - Advice and some software tools for doing terminal-based remote pair programming

  •    Ruby

There's an excellent list of resources at You may find this 10-minute tmux Quick Start screencast helpful.

sixten - Functional programming with fewer indirections

  •    Haskell

Below follow some of Sixten's features that work now. We can then use the constructor MkPair to construct a pair. As an example, MkPair 610 "Sixten" has type Pair Int String.

Saros - Distributed Party Programming

  •    Java

Saros brings multi-writer synchronous distributed editing to the Eclipse IDE, e.g. for joint code reviews, explaining code remotely, or distributed pair programming -- all also for more than 2 participants; we call this Distributed Party Programming. It includes refined awareness functionality, optional screen-sharing, text chat, a simple distributed whiteboard/sketching facility, and (immature) VoIP. Eclipse Update Site:

Suggested Resources for .NET Developers

  •    DotNet

Suggested Resources is a proof of concept in aggregation of online content inside Visual Studio and analysis of a developers work, in order to suggest applicable resources to the user. Using the tool is like having a programming pair that knows about anything posted to the net.


  •    Java

XecliP is a Plug-in for Eclipse that supports distributed pair programming. With this plug-in two developers are able to work together on the same Java project remote via internet or within a local network. The joined project must be stored by CVS.

leaps - A pair programming service using Operational Transforms

  •    Go

Leaps is a service for collaboratively editing your local files over a web UI, using operational transforms to ensure zero-collision synchronization across any number of editing clients.Simply navigate to a directory you want to share, run leaps, open the hosted page (default http://localhost:8080) in your browser and direct any friends on your LAN to the same page. You can now collaboratively edit any documents in that directory.

teletype - Share your workspace with team members and collaborate on code in real time in Atom

  •    Javascript

An Atom package that lets developers share their workspace with team members and collaborate on code in real time.Learn more at

parameter_server - moved to

  •    C++

The parameter server is a distributed system scaling to industry size machine learning problems. It provides asynchronous and zero-copy key-value pair communications between worker machines and server machines. It also supports flexible data consistency model, data filters, and flexible server machine programming.

Sangam - A plugin for collaboration

  •    Java

An Eclipse Plugin to achieve distributed pair programming on the internet, it is based on open sourced Syncshare server. This plugin will finally make XP possible b/w distributed teams.

mapreduce - C++ MapReduce Library for efficient multi-threading on single-machine

  •    C++

The MapReduce C++ Library implements a single-machine platform for programming using the the Google MapReduce idiom. Users specify a map function that processes a key/value pair to generate a set of intermediate key/value pairs, and a reduce function that merges all intermediate values associated with the same intermediate key. Many real world tasks are expressible in this model, as shown in the Google paper. The developer is required to write two classes; MapTask implements a mapping function to process key/value pairs generate a set of intermediate key/value pairs and ReduceTask that implements a reduce function to merges all intermediate values associated with the same intermediate key. In addition, there are three optional template parameters that can be used to modify the default implementation behavior; Datasource that implements a mechanism to feed data to the Map Tasks - on request of the MapReduce library, Combiner that can be used to partially consolidate results of the Map Task before they are passed to the Reduce Tasks, and IntermediateStore that handles storage, merging and sorting of intermediate results between the Map and Reduce phases. The MapTask class must define four data types; the key/value types for the inputs to the Map Tasks and the intermediate types.

crocks - A collection of well known Algebraic Data Types for your utter enjoyment.

  •    Javascript

crocks is a collection of popular Algebraic Data Types (ADTs) that are all the rage in functional programming. You have heard of things like Maybe and Either and heck maybe even IO, that is what these are. The main goal of crocks is to curate and provide not only a common interface between each type (where possible of course), but also provide all of the helper functions needed to hit the ground running. There are many options to use crocks to suit the needs of your, projects. When used on the backend or in an environment where size is not a big concern, the entire lib can be brought in and the various elements can be either be plucked off of or referenced by the namespace.

tmate - Instant terminal sharing

  •    C

tmate is a instant terminal sharing built on top of tmux. All users see the same terminal content at all time. This is useful for pair programming where two people share the same screen, but have different keyboards. Accessing a terminal session is transparent to clients as they go through the servers, acting as a proxy. No authentication setup is required, like setting up ssh keys.

XP for Team System


Visual Studio Team System (VSTS) Process Framework for Extreme Programming. This project was originally called MSF4XP and extends the modifications to the MSF Agile Process Framework suggested in the book 'Visual Studio Team System - Better Software Development for Agile Teams...

miniz - miniz: Single C source file zlib-replacement library, originally from code

  •    C

Miniz is a lossless, high performance data compression library in a single source file that implements the zlib (RFC 1950) and Deflate (RFC 1951) compressed data format specification standards. It supports the most commonly used functions exported by the zlib library, but is a completely independent implementation so zlib's licensing requirements do not apply. Miniz also contains simple to use functions for writing .PNG format image files and reading/writing/appending .ZIP format archives. Miniz's compression speed has been tuned to be comparable to zlib's, and it also has a specialized real-time compressor function designed to compare well against fastlz/minilzo. Please use the files from the releases page in your projects. Do not use the git checkout directly! The different source and header files are amalgamated into one miniz.c/miniz.h pair in a build step ( Include miniz.c and miniz.h in your project to use Miniz.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.