Subrat Mainali

Turing Scholar, BS CS 2020, University of Texas at Austin

August 2017 NowSystems and Storage Lab

Decreasing Robot Sensor Data Through Classification and Compression

Using Machine Learning to decrease the amount of sensor data Robots need to persist.
Link to Repo (soon).

  • SensorBee- ElasticSearch- Kibana-

May 2017 August 2017 MTS Intern at VMware Palo Alto, CA

NVM/PMEM Related Projects

Part of the Application Focus Group under the VMKernel Resource Management team. Worked with Storage, particularly PMEM. Reimplemented (Django, Python, Redis, JavaScript, D3.js) one of VMware's internal tools so that it used Redis as the primary database and used that to study the differences between vanilla Redis and PMEM Redis. Also worked on the backend (Python, Redis, Webdis) and frontend (JavaScript) of the team's VMworld demo (which was supposed to demonstrate the benefits of PMEM Redis over vanilla Redis) by studying and showcasing the differences such as throughput and crash recovery speed between the two storage mediums. Finally, worked on changing the linux source code's implementation (C) of mmap for PMEM devices so that we took fewer page faults later on.

  • Python- PMEM/NVM- Redis- Webdis C JavaScript D3.js Django Linux Source Code

Aug. 2016June 2017Systems and Storage Lab

Optimistic File System (OptFS)

Did research on OptFS with Professor Vijay Chidambaram. Optimistic Crash Consistency is as safe as the most-commonly used pessimistic crash consistency system (one that fsyncs after every write), and as quick as the most-commonly used optimistic crash consistency system (one that lets the disk flush its buffer whenever it wants). Link to paper at the bottom.

    • Fsync Identification and Source Code Modification
      Wrote a tool(link here) using LLVM's clang frontend to change source code to permit easy conversion of libraries into OptFS (without any developer intervention), permitting Optimisitic Crash Consistency support. Tested the tool on some common libraries such as Tokyo Cabinet, Kyoto Cabinet, and PostgreSQL. Sending paper to FAST 2017.
    • Little bit of NVM-related research and pmemobj experimentation.
  • OptFS website : Link To Paper
  • C/C++- LLVM- Python- Tokyo Cabinet- NVML's pmemobj-

20162 Months Web Developer at ITS

Worked on web-dev projects for UT Austin. Mostly with Django and the Genesis Framework. Particular focus in developing new Wordpress themes, converting sites from Django to Wordpress, and allowing clients to easily manage their websites by integrating them with Wordpress CMS.

Did several projects for UT Austin.

  • PHP- HTML- CSS- JS/JQuery

2014 1 MonthUnited Nations Intern

Developed a computerized attendance management system using JAVA and SQL. Followed the MVC principal, and used the Swing API for the frontend.

  • JAVA- SQL- Swing-

Jan. 2015 Mar. 2016Founder and Developer

On-demand, ad-free video streaming site. First dabble into web-development. A No-MVC approach, primarily built directly writing HTML, CSS and jQuery.


Current: Machine Learning and Trading

Currently trying to learn about trading, HFT, and forecasting prices using ML.

    • JaneStreet Electronic Trading Contest (July 22nd, 2017, SF)

  • Python- C- Octave-

CPU Design

Wrote a pipelined CPU with a two-level branch predictor.

    • Hardware design / Architecture / Implementation / Testing...

  • Verilog- Branch Prediction- CPU Design-

x86_64 JIT Compiler

A JIT Compiler using LLVM 5.0 API (C++) for a fictional language.

    • Software design / implementation / documentation / testing...
  • LLVM- C++- Compiler Design- x86_64-

Emulator for Aarch64

Emulated just enough of the instruction set to let basic ELF files work.

  • C- Aarch64-


C, Java, Python, Verilog
PHP, C++, Haskell
Various Assembly, Swift

LLVM GIT- Perforce- Latex- Vim

In progress : 2020 BS in Computer Science

University of Texas at Austin, Turing Scholars Honors. GPA: 3.8.

Courses: Honors Computer Systems and Architecture, Honors Data Structures, Honors Discrete Math, Honors Multivariate Calculus, Linear Algebra, Probability

Summer 2016CS50 through Edx

Took the course taught by the famous, one-and-only, Professor David Malan! Link to course here.

Summer 2017Machine Learning through Coursera

A general intro to machine learning (taught by Andrew Ng). Neural nets, Regressions, SVMs, Bayes, etc. Link to course here.

Outdoorsy Stuff

Flying Airplanes