Projects

Projects

A selection of academic and personal projects. Source for most is on github.com/ankit-1517.

Systems & Low-Level

  • Compiler Design — C++, LLVM. Emits LLVM IR for a C subset (runs under lli) with local optimizations: constant-folding, dead-code removal, constant propagation.
  • Operating Systems Projects — C. A malloc/free allocator (free-list, first-fit), a page-table simulation with clock/LRU/MLFQ replacement, and reader/writer-preference RW locks built on semaphores.
  • Parallel Programming — C++, MPI, OpenMP. Crout’s LU decomposition parallelized with MPI + OpenMP (−50% runtime); tree- vs partition-based parallel reductions.
  • Computer Networks — Mini Torrent — C++, libcurl. A large-file downloader that spreads a download across servers and is resilient to disconnections, resuming on new TCP connections.

Distributed Systems & Databases

  • Distributed Systems — C++. Pastry DHT (node join/leave, lookups), a threaded GHS distributed-MST simulation, and a Bitcoin system with multi-transaction support.
  • Disk-Based R-Tree — C++. A disk-backed R-Tree supporting point and range queries over very large datasets.
  • Information Retrieval — C++. BM-25, TF-IDF, Boolean retrieval and an inverted index for large-scale search (100K docs, sub-second queries).
  • ProvChain — Java, Blockchain. A secure provenance model combining a provenance database with a blockchain in the cloud (SHA-256 + RSA).

Security

  • Networks & Systems Security — C++, Python. Implemented (and cracked) RSA and a birthday attack on SHA-3, implemented TLS for secure messaging, and compared IITD-email vs Gmail security.
  • Intrusion Detection — Python, ML. Random Forest, LGBM and CatBoost models to detect suspicious network activity.

Machine Learning & AI

Apps & Misc

  • Rendezvous App — React Native. The official app for Rendezvous, IIT Delhi’s cultural festival (Android + iOS).
  • Data Structures Projects — Java. A structure for a simplified mobile-phone location-tracking problem.
  • Brainfuck Interpreter — C++. A small Brainfuck interpreter.