I’m a lifelong student of computer science. I’m finishing up my PhD thesis, having worked in a systems group – operating systems and networks, nominally – but my main interest is in distributed systems and in particular distributed algorithms. I worked primarily on mobile ad-hoc networks, because they’re fun.

I now work for Cloudera, and it goes without saying that the opinions expressed on this blog are my own, and not those of my employers.

My aim with this blog is to write a series of introductory articles to distributed systems theory and practice. I find that it’s rather an under-represented area, at least amongst the sources that I read on-line, and yet it’s having relevance as never before with the rise of datacentres, cloud computing and so on. In particular, I think there’s a need to draw the links more clearly between theory and practice; at worst you have ad-hoc ‘engineered’ solutions with no relevancy to ivory-tower impossibility proofs. The sweet spot is clearly somewhere in the middle.

I used to study computational linguistics, natural language processing, information retrieval and speech recognition. But I barely speak English (my first language) fluently, so being judgemental about the mistakes a poor computer makes when it is obviously trying its best seemed a bit hypocritical.

I have worked for a big financial firm, and that was a lot of fun. Never again.