monsoon 2024: ism
Projects and Teams:
DUST (Shrey Arora, Shrey Chhabra, Aaryan Nagpal): This project focuses on re-implementing the classic Doom game in Rust, leveraging the language's performance and memory safety features. The goal is to faithfully recreate Doom's core mechanics, including its graphics engine, enemy AI, and fast-paced combat, while optimizing for modern hardware. The project will utilize Rust's concurrency model to handle game loops, input processing, and rendering efficiently. The end result will be a modern, optimized version of a classic game with improved performance and maintainability.
GeoRust (Hrsh Venkat): The GeoRust project aims to contribute to the open source GeoRust repository for geospatial primitives. The three issues tackled are Hertel-Mehlhorn algorithm, Spade SpadeTriangulation API, and Converting between Mercator and Euclidean coordinates.
RandNLA (Saptarishi Dhanuka, Divij Khaitan): Numerical linear algebra is essential for many fields. Randomization helps calculate approximate solutions for linear algebra problems more efficiently than deterministic algorithms. A C++ library exists for the same purpose and we plan on leveraging Rust's memory safety and performance to implement similar functionality in the language. The library will provide scalable, high-performance implementations of fundamental linear algebra routines such as matrix decompositions, least-squares solvers, and low-rank approximations, which can then be used for efficient and safe higher level algorithms.
ruNESco (Rupsha): This project is a Nintendo Entertainment System (NES) emulator written in Rust, designed to support cooperative online multiplayer over modern web browsers using WebAssembly (wasm) and peer-to-peer communication through Matchbox. Rust is chosen for its high performance, memory safety, and concurrency, making it ideal for emulation tasks and low-latency online play. The project’s primary goals include a fully functional NES emulator, multiplayer for 2-4 players, and website deployment. Stretch goals include expanding to 4+ players and enhancing the website's aesthetics.
RUST_eze (Parin Arora, Arnav Goyal): Rust_eze is an exchange firm simulation platform inspired by the WISE protocol. It is designed to simulate and securely manage financial exchanges, while ensuring high-performance and memory safety. Rust_eze's core security architecture is built around post-quantum cryptographic algorithms, providing robustness against future quantum computing threats. As an open-source project, Rust_eze fosters an environment where the community can contribute to and expand its capabilities, ensuring long-term adaptability and growth.
StableRupee (Rithik Kumar): The Stable Rupee project plans to create a digital version of the rupee. This can be transferred instantly between people worldwide, even if they don't have a bank account. The project uses the Cosmos blockchain and could later include other currencies, allowing quick exchanges between them. It aims to make e-commerce easier and lower forex fees and processing times for businesses and users. It would offer an alternative to the SWIFT system, which currently dominates the forex market.
TradeFlux (Shashwat Vishwakarma): This project aims to develop an advanced algorithmic trading bot using reinforcement learning (RL) for dynamic strategy optimization, combining Rust for high-performance trade execution with Python for machine learning. The bot will execute high-frequency trades with minimal latency, implement a risk management system to monitor exposure, and backtest strategies on historical data. The system will be deployed live, interfacing with broker APIs and hosted on a cloud infrastructure.
vSLAM (Ayush Tiwari): This project implements odometry for accurate position and motion tracking. Building on his previous semester's work with a LEGO-based robot and SLAM system, Ayush will integrate precise tracking of the robot's movements by calculating wheel rotations, monitoring speed and direction, and using sensor fusion techniques. This implementation will include dead reckoning, wheel encoders, and IMU (Inertial Measurement Unit) data to track changes in position. The project will lay the groundwork for future developments in localization and mapping algorithms.