The core of my code is available on GitHub, feel free to download and contribute. I keep three main open-source projects to study evolutionary dynamics:
- PyEvoDyn: Provides a set of simple but general python routines for numerical, symbolic and simulation work (in finite and infinite populations). Check it out in action here, replicating Imhof et al. (2005); and here, replicating Hauert et al (2007).
- Agent-Based-Evolutionary-Dynamics: Implements an extendable Wright-Fisher process for simulations such as the ones reported in our 2012 PNAS paper. It uses Java and is heavily object-oriented.
- JEvoDyn: Provides out-of-the-box simulations for a Moran Process with any given game. It uses Java and is heavily object-oriented.
I use mostly Java and Python (Numpy, IPython, the MatPlotLib library and Pandas). I use Mathematica for mathematics, but I am trying to fully switch to SymPy. Lately I have been playing with Julia, probably the most promising project in scientific computation at the moment.
I use LaTEX for typesetting my papers. Sublime Text is my favorite editor nowadays. Some of the projects I have worked on have executables available at evolutionandgames.com
I am an advocate of high standards in scientific computing, and I try to follow the best practices. Please go to Software Carpentry if you want to raise the quality standard of scientific software.