I’m a software developer and computer science researcher. I work on programming languages, with a particular focus on language features for writing concurrent programs. I’m also interested in distributed systems and personal computing. I live in Maastricht, in the Netherlands.
My main current project is Syndicate, a programming language design for concurrent and interactive programming.
I have extensive experience of commercial software development. I’m available for consultancy on many different kinds of software project, including systems programming, website backend work, frontend engineering, and of course research projects. Please contact me to discuss your needs and my availability.
My research focuses on Network-Aware Programming: the design and implementation of programming languages that incorporate ideas from distributed systems and networking.
More broadly, I’m interested in interpretation very generally, both the horizontal kind that crops up when two programs exchange data across a communications interface of some kind, and the vertical kind that appears when you have a host/guest relationship, such as that between a virtual machine and an operating system, or between a physical server and a hypervisor, or between an interpreter and a program, or between a program and its configuration files. Browsing around my projects, big and small, will give a more detailed view of the kinds of things I mean.
On this site
Some of the content available in these pages:
A few interesting tangents—projects that aren’t big enough for a page of their own.
Talks I have given (including slides and video where available).
I’ve recently resumed writing blog posts at eighty-twenty.org about the things that have been occupying my mind.