This website
ongoing- Website for my sanity
- Made using HTML, CSS and JavaScript for frontend and Rust (tide) for backend.
- Will keep adding everything I can over time.
ARMy (A Robotic Arm)
Initialized- Engineered a custom robotic arm system end-to-end, covering hardware setup, firmware development, and full software integration.
- Programmed the BeagleBone Black and Xilinx FPGA for real-time control, parallel signal processing, and precise multi-axis movement.
- Developed bare-metal drivers and embedded software in C and Rust, optimizing for memory efficiency, timing constraints, and system stability.
- Built and validated a cross-compilation workflow and system integration pipeline, enabling reliable flashing, debugging, and performance testing.
Implementation of TNR(Transit Node Routing) algorithm with custom Transit Node Selection
Completed- I designed and implemented TNR based shortest path search over Colorado Springs map using OSMNX and networkx.
- Used a novel Transit Node choosing method and evaluated with several test cases.
- Benchmarked it alongside Dijkstra's and A* algorithm.
- Achieved perfect accuracy and comparable performance with A* algorithm.
Cache Evaluation on Several Randomized Distributions
Completed
- Implemented Belady's, FIFO and LRU eviction policies
- Introduced several Random Distributions on the input data and Derived a probability estimation function.
- Tested the caches on Zipfian distributions and analyzed the performance of each algorithm.
- Concluded LRU to be the best performing algorithm.
Probabilistic vs. Deterministic Approaches to Primality in Large Ranges
Completed- Implemented and analyzed primality testing algorithms by coding the Miller–Rabin probabilistic test and benchmarking it against the Sieve of Eratosthenes, highlighting trade-offs between deterministic sieving and probabilistic number-theoretic methods.
- Applied concepts from computational number theory (modular exponentiation, Fermat’s little theorem, strong pseudoprimes) to efficiently handle primality tests across a large integer range.
- Benchmarked time complexity and memory usage of sieve-based vs. probabilistic methods, demonstrating differences between O(n log log n) deterministic sieving and O(k log³ n) Miller–Rabin runs, where k is the number of iterations for error reduction.
- Quantitatively evaluated algorithmic correctness and performance, measuring false positive rates of Miller–Rabin against ground-truth primes from sieving.
- Showcased performance optimization by leveraging modular arithmetic for fast exponentiation and by tuning the number of Miller–Rabin rounds to balance runtime and error bounds.
- Produced comparative results that illustrate how mathematical rigor (deterministic primality proofs) contrasts with computational practicality (probabilistic testing), providing insight into algorithm design for large-scale number theory problems.
Custom Pipeline for Improving Branch Predictions
Completed- Experiments with multi-level fetch and decode units to mitigate branch misprediction, enhance instruction-level parallelism
- improve overall latency and throughput
- A way to mitigate Spectre attacks.
Simulating for a sanity proof that spatial chorence beats Temporal Coherance in the context of heap allocations and accesses
Completed- Implemented several memory allocators with different strategies to allocate and access memory
- Simulated them on gem5 with several cache configurations
- Analyzed the results and concluded that spatial coherance is better than temporal coherance in the context of heap allocations and accesses
Simulation of Sieve of Eratosthenes on custom hardware.
Completed- Training project to get used to gem5
- Used several configurations of Timing and Simple CPU
- x86 and risc-v machine language instruction generation and simulation with various cache sizes
2024 ECTF
Completed- The task was to make a secure Operating System for the Max-78000 embedded boards that would be acting as a medical device.
- Developed secure embedded firmware for MAX-78000 using wolfSSL for cryptographic primitives, with GDB-based hardware debugging in a bare-metal environment.
- Placed 24 globally among 102 Universities competed.
- Successfully made a Secure System while not compromising on the functional requirements.
Interpreter for a custom 16-instruction programming language
Completed- Implemented end to end from lexial to interpreter modules
- Executed sample recursion and iterative solutions for proof of concept