Edward Thomson

Software

I've been fortunate enough to have made a career out of writing software - here are some of the projects I've worked on.

Version Control

I've been building Version Control tools for the last 15 years:

  • I help ensure that Azure DevOps has world-class CI/CD pipelines and version control offerings, and that our customers are successfully using DevOps and Git.

  • I developed management and monitoring tools for GitHub's network of fileservers and ported these monitoring tools to the on-premises GitHub Enterprise offerings.

  • I developed the underlying Git repository management in Visual Studio 2013 and newer. This low-level functionality is provided by the powerful libgit2 library and compatible with the core git package.

  • My Git repository merging functionality is at the heart of Team Foundation Server's pull request feature. In addition, I developed the Git protocol handling functionality for fetching and pulling over HTTP.

  • Team Explorer Everywhere is a cross-platform suite of clients for Microsoft Team Foundation Server, including a standalone client, a plug-in for the Eclipse IDE and a command line client. (Formerly Teamprise Client Suite.)

  • Remote Accelerator is a single-user version control proxy for Team Foundation Server. It is optimized for a single developer working remote from the server, and includes a clever cache seeding technology to keep the cache pre-filled.

  • Vault is a version control tool which was designed to be a compelling replacement for Visual SourceSafe. Vault provides advanced version control operations including atomic transactions and rename support while retaining a light footprint and tight support to Microsoft Visual Studio.

  • SOS Collab is a remote access front-end for Visual SourceSafe with integrated bug tracking and team collaboration tools. The collaborative features have since been moved to a separate product, Dragnet, which integrates with both SourceOffSite and Vault.

Open Source

I maintain and contribute to a number of open source projects:

  • I'm the co-maintainer of libgit2, a portable, pure C implementation of the Git repository management library. It powers Git hosting providers like GitHub, Azure Repos, and GitLab as well as client tools like Git Kraken and Visual Studio.

    The C# bindings for libgit2, providing an easy-to-use .NET library for Git repository management.

    I managed the heterogenous CI build network for this open source word processor.

Scientific Computing

Before Version Control, I worked in scientific computing:

  • I helped maintain the heterogeneous network of Unix development and build servers and helped port the Mathematica 3 kernel to PowerPC Linux.

  • My then-coworker, Dan Brumleve, came up with the idea of a web-based front-end to Mathematica, and wrote the initial version of The Integrator. I rewrote it to become the second generation. It still lives, but fortunately using webMathematica instead of any code I wrote.

  • NCSA CSD was a front-end for searching the Cambridge Structural Database of organic compounds and creating molecular representations that could be visualized using MacMolecule in 3D ball-and-stick representations.

  • NCSA Waltz is a front-end to NCSA DISCO, which itself was an application for computing electron density of molecules back when you needed supercomputers to run Schroedinger's equation. Amusingly, NCSA DISCO doesn't exist anymore; this is all done by PC-GAMESS on a puny Linux box.