| layout | page |
|---|---|
| title | Projects |
- Implemented luma keying as part of color space conversion code and bicubic and lanczos interpolation algorithms as fragment shaders in TGSI
- Reworked the VPDAU mixer implementation so that it uses temporary buffer while applying filters
- Implemented DRI3 helper code for the Gallium interface for hardware with PRIME GPU offloading
- Used the DRI3 to send handle of a texture directly to X to be used as back buffer and avoids extra copying
- Used a modified version of qemu and linux kernel to collect traces for mutlithreaded applications including traces for OS activity
- Implemented a safe wrapper to use libevdev in Rust, libevdev is a wrapper library for handling evdev kernel devices
- Used high level rust features to encorporate enum type safety, memory safety, and type inference
- Analyzed the CloudSuite for their performance with respect to Last-level cache replacement policies like Hawkeye, ShiP++, etc
- Used CRC2 simulator ”ChampSim” which models a out-of-order superscalar processor with the entire cache heirarchy and a DRAM model
- Implemented a Java to x86 compiler from scratch in python using ply
- Incorporated advanced features like object heap allocation, classes, foreign funtion interface
- Build a web application using Ruby on Rails to facilitate the process of academic registration
- Used docker for development and deployement of the system in production
- Worked on finding 2 edge-disjoint spanning trees in a special class of graphs with 2n-2 edges and a double edge
- Proved a lemma regarding allocation of edges of 2,3 and 4 degree vertex
- Conceptualized an algorithm to construct the two trees using the lemma, currently trying to implement and prove it
- libevdev is a wrapper library for handling evdev kernel devices
- Implemented a safe wrapper to libevdev library, also wrote documentation and tests for the bindings
- Developed an animatronic head capable of human interaction via speech and through its Twitter handle
- Used Radxa Rock as the main development board along with Arduino Mega for controlling servos and Python as the primary language
- Implemented Speech to text using Google’s speech API, Artificial Intelligence through Pandorabots API, text to audio using eSpeak and connected to Twitter using TweetPony API
- Implemented system calls pertaining to fork, exec, join, yield, sleep and exit for NachOS
- Implemented process scheduling algorithms like UNIX scheduling, round-robin, SJF, non preemptive
- Implemented page replacement algorithms such as random page allocation, FIFO, LRU and LRU clock
AppTimer is a android library which provides the time spent by the user on each app. AppTimer supports until Android Kitkat. It uses GET_TASKS permission to retrieve the app which is running in the foreground.
- Explored various ways to calculate the time spent by user on each ways and implemented the most efficient one
- Developed a background service which would run at specific intervals and record the application which was running in foreground at that time and store it in SQL database
- The Code is available on github
The Report is available [here]({{ site.baseurl }}/assets/projects/stable-marriage/report.pdf)
- Studied the Stable Marriage Problem and Analysed the proof of the algorithm to solve it
- Studied various standard techniques used in solving the problem and its variants
- Analysed theorems regarding existence of a stable marriage in case of incomplete lists