My name is Joe, and I am a software developer with a Ph.D. in theoretical physics.

Currently I work for Microsoft Quantum where I develop custom algorithms and software for simulating Majorana-based topological qubits. I also improve the tools used by simulation engineers to take advantage of the high-performance (classical) computing infrastructure available to us.

Outside of work I like to spend as much time as possible in the mountains.

Selected Projects

Here’s a not-so-random list of software projects that I’ve been involved with.

Kwant is a Python package for simulating quantum transport in nanodevices. It has been used in hundreds of research projects all over the world, as well as a teaching aid in courses on condensed matter physics.

Adaptive is a library of algorithms for adaptively sampling mathematical functions, and seamlessly integrates with the Jupyter notebook. It has been used in cutting edge quantum transport simulations.

Zesje is a web app for grading exams. Born out of necessity while administering exams to hundreds of undergrads, it’s now used in several departments at Delft University of Technology.

hledger is accounting software that uses plain text files to store transactions. Contributing to this mature codebase has been particularly helpful in learning Haskell.

jupyter-sphinx is a plugin for Sphinx that executes code snippets in documentation pages and embeds the output.

What do I do for fun?

When I’m not coding I’m probably up a mountain, in the climbing gym (though not since COVID!) or playing designer board games. If I’m reading it’s probably anything by Ted Chiang. I relax by cross-stitching video game pixel art.

I will also (very) sporadically blog about stuff I find interesting.

Since moving to Canada I’ve also been watching a lot of NHL hockey (go Bruins).