I'm a computer science researcher and software developer, and I recently completed my Bachelors at the University of St Andrews, in Scotland. I'm particularly interested in the applications of Programming Languages research, especially Type Systems and Formal Verification, and how these can be used to help programmers produce correct distributed systems.
July 2015: I'm currently looking for some short term consultancy work. I'm interested in working on real-world distributed systems, especially those written in Erlang. I know lots about CRDTs and Eventual Consistency, which I'm keen to keep working on. Please get in touch if this is what you're looking for.
2014: I have just finished 15 months working at Basho, continuing to develop Data Types for Riak. My work on Data Types has been included in Riak 2.0, and there is pending work that should be in the next major release of Riak.
2014: My Colleagues and I co-authored an extended abstract about the new CRDT that supports composition, titled “Riak DT Map: a Composable, Convergent Replicated Dictionary” that we presented at PaPEC 2014 (a Workshop colocated with Eurosys 2014).
2013 (Autumn): For more details on the work I did on the Data Types team, see My talk at RICON West 2013 entitled “CRDTs: An Update (or just a PUT)”
2013 (Summer): I spent 3 months working at Basho on Data Type support for their datastore, Riak. This included designing a new CRDT that supported composition, and adding Garbage Collection to their existing CRDT implementations.
2012: I spent over two months working with the University of St Andrews and other institutions from the ParaPhrase project on this parallel skeleton library.
I helped co-author a paper titled “Cost-Directed Refactoring of Parallel Erlang Programs” which uses my Skeleton Library as the basis of its refactoring.