Craig Ferguson

Open-source software developer at Tarides. ⛵

  •    •    •  

Working on OCaml open-source tooling and distributed storage.

Living in Paris, under the careful supervision of those who can speak French.


Mostly discussion of OCaml design patterns and tooling:


  • Irmin, a high-performance distributed database with Git-based semantics;

  • Alcotest, a testing framework with combinators and coloured output;

  • Progress, a small library for defining and using progress bars;

  • Oskel, a skeleton-builder for modern OCaml projects;

  • Operator Lookup, an online lookup utility for OCaml operators.

  • ... see my GitHub profile.

I've also recently been working on an operator lookup tool for OCaml.


  • CausalRPC, in which I discuss the design trade-offs of creating a type-safe RPC framework using Git-based semantics. Given at the OCaml workshop at ICFP 2019 (23rd August). Recording of the talk forthcoming.

  • Particle Swarm Optimisation, in which I give a brief introduction to swarm intelligence and its practical applications. Presented to my fellow Churchill Computer Scientists during my degree.