projects

Some of the things I have worked on in the past

I occasionally contribute to BorealisAI/advertorch. You can see pull requests made by me here.


yacv: Yet Another Compiler Visualizer [demo] [GitHub] [docs]

yacv is a tool for visualizing step-by-step parsing process of typical LL(1) and LR parsers. This python package can be used for visualizing syntaxtree, LR state automaton, parsing table and step-by-step parsing process given a context free grammar and a string


scarpet-nn [GitHub] [docs]

Tools and libraries for running binarized neural networks in Minecraft. The API can be used to build any aribtrary architecture of binarized neural network in Minecraft. scarpet-nn automatically generates schematics for Minecraft neural nets based on PyTorch checkpoint. See the documentation page for more info and demonstration.


POP1 ↔ POP2

A CycleGAN based approach for converting gameplay footage of PC game Prince of Persia 1 to look like Prince of Persia 2. The focus was mainly on gathering relevant data, cleaning it, preprocessing it and training a CycleGAN on the data. [My First Ever Machine Learning Project]


PyTorch Implementation of Adversarial Reprogramming [GitHub]

Simple implementation of adversarial reprogramming (Elsayed et al.) in PyTorch. The experiment consists of training a ResNet18 on CIFAR-10, the reprogramming it to classify MNIST as well. The paper mostly reprograms networks trained on ImageNet which has input size of 224x224. This leaves a lot of room for the reprogram. However, in my CIFAR10 to MNIST experiment, MNIST images need to be rescaled down even further to 14x14 or 16x16 to get 90%+ accuracy.


Spreaddit [GitHub]

Spreaddit is an open source, lightweight spreadsheet editor written completely in C. It can be used via command line or GUI mode. The GUI was made using GTK+3. Following features were implemented:

  • Read/write ODS/CSV files
  • Sorting the file on specific column
  • Arithmetic expression evaluation based on cell data

This was course project for “Data Structures and Algorithms” course and was awarded 100% grade


AdvancedHTMLXBlock [GitHub]

AdvancedHTMLXBlock is an XBlock plugin for OpenEDX environment. It allows course creators to embed full HTML content with CSS/JS into their course. The XBlock also features an advanced code editor on the instructors’ side to help maintain the HTML content easily. The new editor supports code indentation, autocomplete features and also comes with a live preview. This project was done as a part of my internship at IIT Bombay.


Photon Kernel

Photon is an android kernel focussed on stability and performance. It supports latest android versions on Motorola Moto E and Xiaomi Mi A1. The kernel includes all the upstream patches from linux-stable and allows users to choose from aftermarket CPU/GPU governors, I/O schedulers etc. [This project is taken off of github and is maintained exclusively via Telegram. Please drop me an email for a testing build]