- Developed a user level thread library (in C) with the API interface
similar to the kernel-level pthreads library on 1 .
- The functions setjmp and longjmp were used to implement and achieve
extremely fast context switch times (≈50 ns).
- A web-based dashboard for COVID-19 India which allowed users to ask
highly customizable and dynamic queries.
- Relational design enabled efficient implementation of queries
otherwise not seen in conventional COVID-19 dashboards
- The front-end was written in vanilla HTML, JS and CSS and backend was
in flask. REST API conventions were followed.
Programmed an AI to play the pacman game and its various variants like CTF,
Clear the board, etc. The AI could successfully avoid both enemies and
focus on eating food pellets, and can also strategize in a team setting
(the tournament variant). This project series was an application of various
concepts taught in the course Artificial Intelligence such heuristic based
A* search, Reflex agent dynamics, Q-learning, etc.
Developed a small tool in python to download multimedia files over a TCP connection given a list of servers
(peers) that have a copy. The file was logically split into chunks, each chunk was fetched from a server
dynamically based on speeds and latency of them. The download was spread over multiple threads for efficiency,
the tool was resilient to disconnections and resumed on reconnection.
- Task was to identify a malicious executable given its strings, PE and
cuckoo sandbox report file using supervised learning.
- Some of the features used were API call names and frequencies,
network activity, API statistics, entropy, headers.
- Three models were trained and then ensembled to obtain the final
model. Over 99.9% accuracy was achieved with low FP, FN
The source code has been made public,
check it out on GitHub
The game is designed to teach players about firewall concepts with each
levels having basic networking concepts. The goal is to teach simple
commands and syntax of iptables which includes basic commands of adding
rules to a firewall and understanding the use of chains. The Player in an
administrator’s role sets up the firewall rules. Defense against various
types of attacks; such as DOS attack, DDOS attack, IP Spoofing attack, etc.
is taught through game play.
Try Online
- Implemented a lexer and parser to tokenize and parse input
programs written in a subset of PROLOG language.
- Implemented a REPL interpretor which takes the generated AST
from parser (acting as database) and queries as interactive input
to generate the solution space.
- Backtracking and unification was used to discover the solution space.
Implementation was done in Ocaml.
- Implemented a processor on a FPGA Board following a reduced subset
of MIPS instruction set.
- Implemented a assembler and a software simulator for the processor
with pipeline support in C++.
- Tools used : BASYS (FPGA Board), Vivado (lang. VHDL).
- Implemented a program which could take 2 word documents and output percentage similarity between them
efficiently
- N-grams of words were extracted and used to build a trie. Modified jaccad similarity was used as a
measure of similarity
- Model was able to detect cut-paste and light-revision plagiarisms efficiently even when number of
documents to check was large
- Implemented a library in C programming language which allows
exact computations on arbirarily large numbers.
- Both integer and floating point numbers were supported with
arbitrary precision (user defined). Complex numbers were also
supported.
- Efficient algorithms were used to support the following operations
: Add, Sub, Multiply, Divide, Exponent, Sqrt.
- Implemented a basic version of shell for POSIX compliant systems.
- The implemented shell supports piping and redirection.
- Optimized for speed and usability. Colored fonts were also used.
- Designed a digital music synthesizer which could play upto 16
different musical notes.
- Harmonic overtones of notes were also superimposed for natural
sound quality.
- Synthesized on FPGA board (BASYS). Tools used : Vivado, VHDL.