Career Profile

Recent MS in Computer Science grad from University of Southern California. Interested in System Software, Operating Systems, Virtualization and Parallel Systems.

Experiences

Outreachy (Software Freedom Conservancy)

Dec 2023-Present
Linux Kernel Intern

Currently improving the sysfs implementation in DRM driver i915(i.e the Intel graphics driver) by reviewing & refactoring the sysfs power managament structure in drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c . The purpose is to split the code for GTs(tiles) & general GPU in the driver. Changes made to the driver will be tested using the IGT suite.
Mentors: Andi Shyti & Karolina Stolarek
[Project Details] [Patches]

Linux Kernel Mentorship Program (The Linux Foundation)

Jun 2022-Aug 2022
Kernel Mentee

As part of the Summer 2022 Linux Bug Fixing round, worked mainly on bugs reported by Syzbot(a fuzzer), ran build tests for release candidates, contributed patches to upstream etc. Mentored by Shuah Khan(Linux Fellow, maintainer) & Pavel Skripkin. Instances of Kernel Debugging experience have been described in [Blog]
[Linux Contributions]

Bhabha Atomic Research Centre, Mumbai

Jan 2020-Mar 2020
Project Trainee, Computer Division

Interned at the Supercomputing facility in the Computer Division of BARC (Government of India’s nuclear research facility). Worked with Lustre file system and was tasked with creating a new version of lustre_rsync(the primary utility for file system level backup and restoration) with additional features for in-house use.

Process Nine Technolodies Pvt. Ltd., Gurgaon

May 2018-Jun 2018
Developer Intern

Extended a rule based Bilingual Machine Translation engine(in Python). Original engine produced a rudimentary translation based on transliteration. Refinement was done for Hindi to Gujarati translation by coding in rules.

Projects

Academic projects undertaken:

Secure Audit System

Spring 2023
Blockchain technology (Cryptography)

Prototyped a secure decentralized EHR(Electronic health record) Audit System using Hyperledger Fabric(audit data stored on a shared public ledger) and a Node.js application(web-browser based UI). Users(patients or auditors) can query audit data, view the raw encrypted ledger and perform an immutablility test on the audit data. System implements privacy, identification and authorization using appropriate cryptographic constructions.
[Specs] [Demo Video]

Comparison of detection techniques for kernel-level rootkits

Fall 2022
Security Systems

[Research Paper] written in lieu of final project for CSCI530 Security Systems under the guidance of Prof Clifford Neuman. The paper analyzes and compares the performance and caveats of five different kernel-level rootkit detection mechanisms.

Yelp

Fall 2022
Android App (Java)

Created an app which lets users search for restaurants and businesses, look at detailed information (like reviews, location on map, operational hours, open/closed status, generic business details, pictures etc.) about them, share reviews on Twitter and FB, schedule reservations, review and/or cancel the reservations if needed. App has a Node.js backend hosted on Google Cloud Platform which uses the Yelp API suite for business search and search query autocompletion functionalities, the IPInfo geolocation API for auto-detecting the user's location and the Google Maps' geocoding API.
[Demo Video]

Sequence Alignment

Spring 2022
Dynamic Programming

Implemented two different Dynamic Programming solutions for the Sequence Alignment problem in Python; a basic solution and a hybrid memory effecient solution using Divide and Conquer strategy with DP. Analysed the run time and memory usage of the two algorithms using 2 line plots for comparision.
[Bitbucket]

Weenix

Fall 2021
Operating System

Given the source and binary release of a skeletal operating system called Weenix(developed as a teaching tool by Brown University), added in the missing functionalities for Processes & Threads, Virtual File System Layer and virtual memory.

Token Bucket Simulation

Fall 2021
Multithreading in C

Simulated a time-driven token bucket filter setup for streamlining incoming data packets. System included a packet arrival facility, a token bucket and the transmission facility(2 server entities). Mechanism ran in either of deterministic(uniform control parameters for all packets) or trace-driven mode(non-uniform control parameters provided in trace specification file) with provision for SIGINT interrupt handling for a graceful finish.

Blackspotter

Winter 2018-19
Android Project

App to alert drivers of blackspots(accident prone areas) on highways based on tracked GPS location and data stored on Google Firebase. Alerts sent when nearing,entering and on exiting blackspot radius. User can also review marked blackspots on map. Dataset acquired from NHAI (Tamil Nadu blackspot data).
[Github]

Parallelizing LZW Compression

Fall 2018-19
Parallel and Distributed Computing

Coding a parallelized LZW Compression algorithm using MPI and OpenMP based on a hybrid parallel model.
[Github]

Joke Recommendation System

Fall 2018-19
Machine Learning

Implemented the Eigentaste algorithm(User based collaborative filtering) developed by UC Berkeley to build a joke recommendation system in Python, and compared performance by using different Clustering methods in the algorithm.
[Github]

Text extraction from images

Winter 2017-18
Digital Image Processing

Coded an OCR text recognition program in Python to extract the 16-digit Credit Card no. And type from card images, using OpenCV library. Text recognition done using template matching.
[Github]

Snake Game

Winter 2017-18
Microprocessors and Interfacing

Built a hardware version of the classic Nokia 3310 Snake game, using 8051 microcontroller and assembly code. Game panel was made of a soldered LED matrix and a push-button console.
[Demo Video]

BatteredBooks

Fall 2017-18
Web Development

Developed a website for sale of secondhand books on xampp. Project included use of PHP, jQuery, Ajax, Bootstrap, MariaDB
[Github]

Skills

  • C/C++
  • Git
  • GDB
  • Kernel debugging
  • Linux kernel development
  • x86 assembly
  • MIPS assembly
  • Hyperledger
  • Javascript
  • Node.js
  • Flask
  • OpenMP
  • MPI
  • Python
  • Android
  • SQL
  • Hadoop