mercurial-server gives your developers remote read/write access to centralised Mercurial repositories using SSH public key authentication; it provides convenient and fine-grained key management and access control.


This logs application-level change logging with EntityFramework. Its source is available now on BitBucket.


Typesetr began as a solution to an internal problem at LShift. It was designed to remove the fragility and frustrations inherent in collaborative writing and editing workflows, with their heterogeneous mix of apps and platforms, where producing complex documents is needed as quickly and reliably as possible. LShift tried and tested many combinations of tools before finally settling on Google Documents as a collaborative editor and PDF as a target output format.


A code coverage tool for Clojure.

By Baykedevries (Own work) [CC-BY-SA-3.0-nl (], via Wikimedia Commons


Diffa was developed to address a common problem in what can broadly be defined as real-time systems integration projects. Namely, in ensuring data that is maintained in a consistent state between different applications and data stores. An enormous amount of repetitive effort is expended by developers in building one-off monitoring and repair/resynch tools. Diffa has been developed as a proof-of-concept and is currently available in private beta.



LShift developed this application for tracking time spent on projects.



We have had an ongoing commitment to researching the implementation of the SPKI/SuiteB certification and encrypted key specification for delegated trust networks.

By cs:ŠJů (Own work) [CC-BY-SA-3.0 (], via Wikimedia Commons

Cryptanalysis of Py

Paul Crowley presented a seminar on the cryptanalysis of the stream cipher Py at the Information Security Group of Royal Holloway, University of London.