My Projects

Cybersecurity and systems programming projects demonstrating expertise in network protocols, secure application development, and concurrent systems.

CPU Scheduling Simulator

Implements a comprehensive discrete event simulation of a CPU scheduling system with Ready Queue, I/O Queue, CPU, and I/O Channel components. Demonstrates advanced understanding of operating system process management and performance optimization.

Java
Operating Systems
Algorithms

Technical Highlights:

  • Built discrete event simulation engine supporting multiple scheduling algorithms (FCFS, SJF, Priority)
  • Implemented ready queue and I/O queue management with process state transitions
  • Analyzed performance metrics including turnaround time, wait time, and CPU utilization
  • Modeled realistic system behavior with I/O operations and context switching
Hadoop MapReduce PageRank

Implemented the PageRank algorithm to analyze and rank popularity of web pages across millions of Wikipedia pages. Demonstrates expertise in distributed computing and large scale data processing on AWS infrastructure.

Java
Hadoop
MapReduce
Algorithms

Technical Highlights:

  • Processed over 3 million Wikipedia pages using Hadoop MapReduce on AWS EMR
  • Implemented iterative PageRank algorithm with convergence detection
  • Built distributed link graph analysis system handling large scale web structure
  • Optimized MapReduce jobs for efficient large dataset processing
Python Search Engine

Built a complete search engine for web pages using compressed trie data structures and inverted indexes. Implements efficient indexing and ranking of search results with stop word filtering.

Python
Data Structures
Algorithms

Technical Highlights:

  • Developed compressed trie structure for efficient term storage and retrieval
  • Implemented inverted index with TF IDF ranking for relevant search results
  • Built stop word filtering system to improve search quality
  • Created web crawler to index multiple pages automatically
Distributed Hash Table with gRPC Cloud Deployment

Built a P2P structured overlay network implementing a distributed hash table for cloud deployment. Demonstrates expertise in distributed systems, remote procedure calls, and scalable data structures.

Java
gRPC
Distributed Systems
Cloud

Technical Highlights:

  • Implemented DHT using gRPC for efficient node to node communication
  • Built P2P overlay network with consistent hashing for data distribution
  • Deployed standalone Java programs with embedded gRPC server stack on EC2
  • Developed node join/leave protocols with data replication and fault tolerance
  • Implemented gRPC server streaming for efficient event propagation across nodes
Python Distance Vector Routing

Simulates the Distance Vector routing algorithm using Bellman Ford to compute shortest paths across a network. Demonstrates foundational understanding of dynamic routing protocols critical for secure, resilient networks.

Python
Networking
Algorithms

Technical Highlights:

  • Implemented Bellman Ford to update routing tables dynamically
  • Modeled multi node network graph structures in Python
  • Explored protocol design considerations for scalability and fault tolerance
Python Chatroom

Built a multi client chatroom application supporting TCP and UDP protocols with message broadcasting. Highlights secure, concurrent communication in networked systems.

Python
Sockets
TCP/UDP

Technical Highlights:

  • Developed socket based server client architecture with Python sockets
  • Supported both TCP (reliable) and UDP (fast) message delivery
  • Managed multiple simultaneous clients, demonstrating concurrency and message handling
C Password Cracking Fork

Designed a fork based parallel brute force password cracker in C, dividing workload among child processes for efficient password discovery, underscoring the importance of secure password practices.

C
Unix
Parallel Processing

Technical Highlights:

  • Leveraged Unix fork() system calls for parallelism across multiple processes
  • Managed process synchronization and termination to maximize throughput
  • Illustrated the real world risks of weak passwords and necessity for secure hashing
C Multithreaded Ticket Booking

Implemented a concurrent ticket booking system in C using mutex locks, ensuring consistent seat reservations under high load, a core concept in building secure, thread safe applications.

C
Pthreads
Mutex

Technical Highlights:

  • Used pthread library for multithreaded execution
  • Applied mutex locks to prevent race conditions and ensure data integrity
  • Simulated real world booking scenarios with concurrent customer requests
Python HTTP Server

Created a basic HTTP server in Python supporting GET and POST requests, serving static files and dynamic HTML responses, a foundational step towards understanding secure web application delivery.

Python
HTTP
Web Server

Technical Highlights:

  • Handled HTTP methods and response headers manually using Python sockets
  • Parsed HTTP requests to serve files and process client input
  • Reinforced core concepts in web protocols and secure request handling