PINTOS

September 2018 - October 2018

With a small team, added features to the threading system and extended user support for the educational operating system Pintos. Implemented priority scheduling as well as priority donation for locks. Also added an optional multi-level feedback queue scheduler (MLFQS). Enabled argument passing and added support for process control syscalls (exec, wait) as well as file operation syscalls (open, close, read, write). Written in C.

SMOKE SIMULATOR

April 2018 - May 2018

With a small team, designed an 2D smoke simulation based on the Navier-Stokes equations. Written in Three.js and WebGL, the simulation is based on a Eulerian grid and follows a pipeline of shaders to generate an interactive visualization. You can read more about this project and try out the simulation for yourself here.

IOS APP: SHOPSYNC

April 2018 - May 2018

Designed and developed an iOS app which allows users to create and maintain multiple shopping lists. The app itself is connected to FireBase to allow for storing and retrieving data.

Pathtracer

March 2018 - April 2018

In C++, used global illumination to render images by tracing light rays through a scene. Uses a bounding volume hierarchy to drastically improve efficiency. Allows the user to render several different materials (diffuse, glass, microfacet) and also optionally use a thin lens to incorporate blur effects. Can also render images with environment lighting. Read more on this here.

NON_BETWEENNESS ORDERING

Nov 2017 - Dec 2017

With a small team, designed an algorithmic reduction in Python to solve the non-betweenness problem. Given constraints of the form “a is not between b and c”, the slver constructs a valid ordering. The solution is a reduction to general SAT by modifying the given constraints. These constraints are then fed into pycosat, a Python general SAT solver. A valid solution is then reconstructed from these results.

ATAXX

Oct 2016 - Nov 2016

In Java, created a two-person board game and correlating GUI. Each player is assigned a color, with the goal being to turn all game pieces your color. Developed AI to make one-player games possible. The AI recursively analyzes all potential boards five moves ahead and chooses the most beneficial course of action, thus being able to detect a win 5 moves in advance.

ENIGMA

Sep 2016 - Oct 2016

In Java, developed a working enigma simulation to encode and decode messages. Utilized object oriented programming, with a broad rotor class and three subclasses for each specific rotor type (fixed, moving, reflector). Given a set of rotor configurations and a message, it will return the corresponding decrypted text.

CONTACT ME:
rachel@bhadra.org
LinkedIn
GitHub