I care about software quality by improving our C, C++, Python, and Java unit test suites, by automating integration tests, and by applying property-based testing.

I like to develop in Erlang and Racket, which I use to design and develop programming languages.

Open-Source Projects


Cuneiform is a language for large-scale data analysis. It is open because it easily integrates foreign tools and libraries, e.g., Python libraries or command line tools. It is general because it has the expressive power of a functional programming language. Cuneiform scales to large clusters and clouds.


gen_pnet is an Erlang library to define and run place-transition Petri nets as Erlang processes. It allows transitions to produce and consume arbitrary Erlang terms and provides an interface similar to Erlang’s gen_server behavior. I use it to implement some of Cuneiform’s services.