Apache Subversion maintenance & support, 2016 – Present
Diagnosing and fixing Subversion problems, for WANdisco and their customers.
Subversion Senior Software Engineer, – 2020
SAAS integration with git and svn: Ruby middle layer -> Protobufs/NATS/GRPC -> C++ back-end calling libgit2 and libsvn.
Open-source development of features in Subversion.
Leading changes in the FOSS community: switching Subversion to a time-based and faster release schedule; shifting focus to maintenance.
FOSS release management: Subversion releases 1.10.0 through 1.13.0.
Private experiments in removing performance bottlenecks in svn.
Full Committer, – Present
The Apache Software Foundation
Member, – Present
Senior Subversion Committer, –
Working at all times within the open-source community in collaboration with employees of other companies and many volunteers, my remit was to develop Apache Subversion in whatever direction I thought best.
My first main focus was on improving Subversion’s merge tracking: I developed the “automatic” or “symmetric” merging mode which helped to unify the previous “sync” and “reintegrate” merging modes. This was released in Subversion v1.8 (http://subversion.apache.org/docs/release-notes/1.8.html#auto-reintegrate).
My second main focus was researching how to provide rename (or move) tracking in Subversion.
I also assisted the customer support team on request with difficult issues such as repairing corrupted repositories, and helped them interface with the open-source community such as advising how best to involve the community on customer-requested features and bug fixes.
Software Engineer, –
Subversion open-source developer. In a similar role to that at WANdisco, I worked mostly on making Subversion detect conflicting tree changes (such as when one user edits a file and another user deletes or moves the same file). The result of this work was released in Subversion v1.6 (http://subversion.apache.org/docs/release-notes/1.6.html#tree-conflicts) and documented in The Subversion Book (http://svnbook.red-bean.com/en/1.6/svn.tour.treeconflicts.html).
Senior Software Engineer, –
Migration of version control system from CVS-based to Perforce. Embedded software in two-way radios.
Satchwell Control Systems, Ltd.
Principal Software Engineer, –
Embedded networking software in the Building Management System.
Building gateways to third-party systems such as fire alarm control panels, door card access controllers, lighting, heating, and air conditioning controllers for a Building Management system.
Developing a network transport layer based on UDP/IP, including multicast, to replace a proprietary one.
1980s – 1990s
Making peripheral interfaces for my Z80-based home computers: SCSI to connect a hard disk, PCM sound, Real-Time Clock, RS232 serial. Designing, building, writing drivers, writing applications.
University of Southampton
MEng (with merit), Information Engineering, –