I currently work as a software engineer; previously, I was a computational mathematician and scientific software developer. I worked with the Geophysical Fluid Dynamics group in the Institute of Geophysics at ETH Zurich. I'm interested in applied mathematics, computational geometry, scientific software, parallel algorithms, and physical simulation. These interests fit well with cross-disciplinary work, and I have touched on many fields of application and collaboration. These include electroacoustic and computer music, geometry processing and graphics, scientific and high-performance computing, and computational Earth science. Recent research interests include computational methods and software for large parallel geodynamic simulations modelling the long-term evolution of the Earth and other rocky planets, pipelined Krylov solvers, scientific application testing, and narrow-stencil discretization on adaptive meshes for the Stokes equations.
See My CV or Google Scholar.
Software I've contributed to includes
Very short introduction for the CIG Developer's workshop, February 2022. Slides and examples.
Block course at ETH Zurich.
A tutorial on DMStag and StagBL, as part of a Staggered Grid Geodynamics Workshop at ETH Zurich, March 2020.
A short lecture on some general principles, corollaries, and simple applications for working with the basic tools of computational science. Given at the University of Bern CSH in Fall 2019.
A short tutorial on the basics of Valgrind, with some simple examples. Given to the ETH D-ERDW GFD group in April 2017 and the university of Bern CSH in Fall 2019.
Lectures given as part of the CSCS Summer School, covering numerical libraries for HPC, and a dedicated PETSc tutorial.
A short tutorial on the basics of Git and web-based services like GitLab/Bitbucket/GitHub, given to the ETH D-ERDW Geophysical Fluid Dynamics and Seismology and Wave Physics groups in March 2016, the USI HPC course in September 2016, and the University of Bern CSH in Fall 2019.
A course taught at USI Lugano in Fall 2015, intended for Masters students in Computational Science with a wide range of backgrounds. It provides an introduction to C++ as well as the practical usage of version control, compilers, shells, debuggers, and other low-level tools.
A course taught at Caltech as ACM 11 in Spring 2013. It provides an introduction to the usage of MATLAB and Mathematica, aimed at undergraduates in Applied and Computational Mathematics.