Projects

Projects

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

Systems & Low-Level

  • Compiler DesignC++, LLVM. Emits LLVM IR for a C subset (runs under lli) with local optimizations: constant-folding, dead-code removal, constant propagation.
  • Operating Systems ProjectsC. 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 ProgrammingC++, MPI, OpenMP. Crout’s LU decomposition parallelized with MPI + OpenMP (−50% runtime); tree- vs partition-based parallel reductions.
  • Computer Networks — Mini TorrentC++, 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 SystemsC++. Pastry DHT (node join/leave, lookups), a threaded GHS distributed-MST simulation, and a Bitcoin system with multi-transaction support.
  • Disk-Based R-TreeC++. A disk-backed R-Tree supporting point and range queries over very large datasets.
  • Information RetrievalC++. BM-25, TF-IDF, Boolean retrieval and an inverted index for large-scale search (100K docs, sub-second queries).
  • ProvChainJava, Blockchain. A secure provenance model combining a provenance database with a blockchain in the cloud (SHA-256 + RSA).

Security

  • Networks & Systems SecurityC++, 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 DetectionPython, ML. Random Forest, LGBM and CatBoost models to detect suspicious network activity.

Machine Learning & AI

Apps & Misc

  • Rendezvous AppReact Native. The official app for Rendezvous, IIT Delhi’s cultural festival (Android + iOS).
  • Data Structures ProjectsJava. A structure for a simplified mobile-phone location-tracking problem.
  • Brainfuck InterpreterC++. A small Brainfuck interpreter.