Although I’ve worked with numerous programming languages, these days I spend most of my time working in Python and C++. As part of my PhD research I became actively involved in the development of a great deal of scientific software, some of which I continue to remain involved with. Two of the biggest projects that I help maintain are signac and freud, both of which I have presented at SciPy:
My colleague Bradley Dice and I presenting freud at SciPy 2019
Me presenting freud at SciPy 2018
As a computational scientist first and foremost, I believe in tying software development as directly to specific applications as possible. My colleague Simon Adorf and I published a paper on this topic in Computing in Science & Engineering, and more recently we wrote a blog post providing a high level discussion of our approach. With this mentality, I have also developed a few small, self-contained Python packages with clear applications, the rowan package for quaternion manipulation and the coxeter package for working with geometric data, particularly polytopes in two and three dimensions.
I’m also actively involved in the development of HOOMD-blue, one of the fastest particle simulation toolkits in the world. This package has been heavily optimized for maximum performance on GPUs, which are critical to meeting modern simulation needs. In addition to helping with overall API and structural design of the package, I have also contributed numerous features to enable the study of new types of systems (for details, see the credits page for the package).