- The name's Mahdi! (or you can call me Asder, either works)
- I go by he/him or they/them pronouns
- I'm hugely into systems or low level programming (OS, Firmware, Distributed Systems, Embedded Systems, etc.)
- If you want to reach out to me, email me through: mma2268@columbia.edu.
- You can take a look at my resume here
I'm a senior studying Computer Science at Columbia University, with a particular interest in systems related programming. I love working out system designs, seeing how they work under the hood (and implementing them), and optimizing them even further. I do dabble or explore with fields other than systems programming, like mobile app development, AI, or cybersecurity.
My career interests are pretty broad, but, hey, if I could be involved with doing something like firmware code on printers, huge scale distributed systems for social media apps, work on security related features for an OS– anything exciting from a system design or algorithmic standpoint (and implementation), then you got me reeled in. Front End is an absolute no go for me though (unless you're making me do that in Rust or C/C++, then maybe I'll bite).
Here are some projects that I've worked on or collaborated with someone (not exhaustive):
- TeXiT ~ A simple text editor with remote live editing features written in C (collaborated w/ @Megadash452)
- Gmail-Management ~ A program that allows you to interact with your gmail and perform services on it like trashing an email or sending an email either through gmail or a third party mail service that uses SMTP (@Megadash452 advised me through Rust syntax and conventions with this, as this was my first Rust project)
- Polyscend ~ A turn-based roguelike game with shapes I made for my Module 2 Project in Creative Embedded Systems
- ESP32-SpaceTeam ~ A 2v2 competition version of the SpaceTeam mobile app game made for the ESP32; part of Module 3 Project for Creative Embedded Systems (collaborated w/ @enrista2112, @jieji09, @chrixti)
- Ring Buffer Data Structures ~ Generic Ring Buffer Data Structures for multithreaded purposes written in Rust (collaborated w/ @Megadash452)
- HNSW ~ Building the HNSW data structure and features an insertion to an HNSW index based on this HNSW paper by Yu. A. Malkov, D. A. Yashunin (@Megadash452 guided me through proper unsafe syntax and usage for Rust + trait implementation)
- Spin the Wheel, Name the Game ~ Software code used to upload onto an arduino that would spin and gradually stop a stepper motor attached to the Fortune Wheel from arcade button inputs. This was for the Common Project in my Art of Engineering course (collaborated w/ @afloresal0003, @CarrilloMario831, @ekene-e, Hamid Cruz, and Jeffrey Becko)
- Parallelizing the Rapidly-Exploring Random Tree Algorithm on the CPU and the GPU ~ Final Project for Parallel Optimization for Robotics course in which my team tried to see the results of parallelizing the Rapidly-Exploring Random Trees (RRT) algorithm (in collaboration w/ @CarrilloMario831, @ineskhou, @moisesmata, Faustina Cheng). The paper can be read here.
- TechPrep ~ Mobile App for preparing for technical interviews with multiple choice style programming questions (collaborated w/ @xyzcv979, @joshhn, and Favour Adekoya)
These are just a couple of currently ongoing projects I'm working on or I want to work on in the future. One of these days I'll complete them...:
- Invigorate ~ An adventure roguelike game (think of Wizard of Legend 1 for example). This was made for Columbia LionJam Game Jam (collaborated w/ @sleepyheadmp3 (Jennifer Fu), and @Daniel-Manjarrez)
- Disrust Bot ~ Name to be changed, but this is essentially supposed to be a Discord bot that can handle image compression or image related tasks for servers. It's mostly for fun and a way for me to quickly convert an image I have into a reaction on Discord.
- Keyboard Firmware Code ~ In the future, I'd like to buy a custom hot-swappable keyboard pcb and work on firmware code for the keyboard's microcontroller.
I'd love to get involved with any open source projects and help the community out with an accessible tool or feature (and learn something new in the process). If there's an open source project that you want assistance on or would like to talk to me about, feel free to email me!