Molecular Simulation

Faunus is a scientific software written in modern C++/Python for simulating molecular systems at multiple length and time scales. Over two decades we have kept up with the C++ standard and is now at C++20. We have recently ported most of Faunus to Rust and GPU-accelerated WASM.

Contribution: Creator and development lead.

Faster Voronoi Tesselation: A C++ to Rust port

Voronota-LT is an efficient Voronoi Tesselation method to investigate surfaces and contacts in molecules. We ported the C++ code to Rust and added new Python bindings. The port is faster than the original due to exceptionally good load balancing in parallel Rust.

Compiler Backend Development

LLVM-MOS supports the MOS Technology 65xx series of microprocessors and enables C, C++, Rust compilers on a series of 8-bit computers.

Contribution: memory layout for the MEGA65 and Commander X16 targets; (dis)assembly for 65CE02 CPU derivatives. See all PR’s here and here.

Ancient Plotting

Xmgr is an ancient but still popular GUI tool for plotting scientific data. It was utterly abandoned until we resurrected the code base.

Contribution: CMake build system; bug fixes; and support for 64-bit systems; Macports recipe.

Embedded

Scientific instrumentation

Firmware and microservice design in Rust. Sensor control and on-device database management and exposure on local network. Anonymous client, Sweden.

Hardware Abstraction Layers (HAL)

Rust HAL for MOS Technology graphics and sound chips using memory-mapped I/O. This includes FFI bindings to mega65-libc.

Contribution: Creator and development lead. Mega65-libc contributions here.

Rust on Espressif ESP Micro-controllers

We have made contributions to the esp-idf-hal crate for running Rust on Espressif’s ESP family of micro-controllers.

Contribution: Refactoring of RGB color handling.

Graphics Display Driver

We maintain a library for display drivers for graphics on extremely restricted systems using the embedded-graphics crate.

Contribution: Creator and development lead.

Hardware Remote Control via HTTP and Serial Communications

Ultimate64 is a CLI for communicating with Ultimate 64/II+ hardware via HTTP requests. Matrix65 is a modern text user-interface (TUI) for serial communication with the MEGA65 computer. Both tools are written in Rust .

Contribution: Creator and development lead.