Closing pages
Software Contributions
During my time at the University of Amsterdam, I have made several contributions to various software packages that form an essential part of the scientific computing ecosystem.
Notable contributions include:
UltraPlot: A succinct wrapper for matplotlib.
In support of my scientific plotting, I continued development of Proplot under a new name: UltraPlot. As lead developer I have updated the codebase to be compatible with modern python and matplotlib versions. I have added extensive unittests, fixed numerous bugs, and added new api features.
NetworkX: A foundational network science package for Python
Implemented multiple layout algorithms, including the widely-adopted forceatlas2 and arf layouts, which have become standard tools in the network visualization community.
Developed comprehensive unit testing suites to ensure reliability and reproducibility of results.
Micromamba: A high-performance package manager for scientific computing
Developed the integration between micromamba and nushell, enabling seamless environment management and backend communication.
Nushell: A modern command-line shell
Resolved critical integration issues affecting micromamba functionality within the shell environment.
Matplotlib-labellines: A specialized visualization package
Enhanced functionality by implementing arbitrary rotation control for label lines, significantly improving visualization flexibility.
Proplot: An intuitive visualization layer
Resolved compatibility issues with recent matplotlib releases and fixed several core functionality bugs.
Vispy: A high-performance 3D visualization framework
Created a NetworkX connector, enabling seamless integration of complex network visualization capabilities.
Python-IGraph: A network analysis and visualization library
Resolved critical issues in the layout generation algorithm, improving visualization accuracy.
During my PhD, I have had the time and space to main author Plexsim, a high-performance computational framework for simulating complex adaptive systems. Built primarily in Cython and C++, Plexsim has been instrumental in conducting the research presented in this thesis, particularly in analyzing the emergence of criminal networks and their responses to interventions.
My approach to software development reflects the interdisciplinary nature of my research. By embracing the principle of “using the right tool for the right job,” I develop solutions that bridge multiple programming languages and paradigms. This is exemplified in Plexsim, where C++ provides computational efficiency, while Python offers an intuitive interface for researchers. Similarly, my work with Nim combines its performance benefits with JavaScript’s accessibility and Python’s rich ecosystem, creating tools that are both powerful and practical.
For the most up-to-date information on my software contributions both within and beyond academia, please visit https://github.com/cvanelteren or visit my website at https://thefriendlyghost.nl.