Swapnil S. Auti

Computer Science Graduate | sauti@buffalo.edu

ABOUT

I'm a Computer Science graduate from the State University of New York, Buffalo. I'm a Software Developer with project experience in Big Data, Distributed Systems and Databases. I have strong programming experience in Java, Python and C and have hands-on experience with languages like C++, JavaScript and Android technology. I'm passionate about open source technologies like Apache Solr, Apache Kafka and Apache Impala.

EDUCATION

Master of Science in Computer Science
University at Buffalo, New York
GPA: 3.41

December 2016

Bachelor of Computer Engineering
University of Pune
Grade: First Class

May 2014



EXPERIENCE

Software Engineering Intern


CLOUDERA (Palo Alto,CA)

Worked along with the Solutions team to integrate Cloudera Impala (Cloudera's version of Apache Impala) with the Domain-Specific Language based testing framework. Used Cloudera Manager's API and Impala-shell as client to add Impala support in order to reproduce bugs and to find its root cause. Initally, also wrote few SQL queries to fetch team specific data from Jenkins database. Also detected and fixed a couple of bugs in the internal code.

June 2016 - August 2016




Projects

Query Engine for CSV file

Designed and developed a parser for a very large sized (~600MB) CSV file which could efficiently answer the first query with low latency and simultaneously index it on-the-fly. Also did benchmarking by comparing its performance with various other approaches. Used the concept of positonal maps to help seek the exact cell within CSV file in O(1) time.

Big Data, Java, Parsing, benchmarking, JITD

Dynamo-style key-value storage

This project is aimed at designing and implementing a Dynamo-styled key-value storage using Android Virtual Devices(AVD) as nodes, which acts as clients as well as servers. The three main implementation goals of this project are : 1. Partitioning 2. Replication 3. Failure Handling. The implementation provides availability i.e. read/write operations run even under failures and linearizability i.e. a read operation always returns the most recently written value.

Distributed Storage, Amazond Dynamo, Android, Java

Implementation of Distributed Message Passing techniques

In this project, Total and First-In-First-Out(FIFO) message ordering paradigm for inter-process communication in a distributed environment is implemented. All the messages are multicasted and all the five AVDs store these messages in the same order.

Distributed message passing, Android, Java

Implementation of Top-K queries over a relation Table of arity N + 1 using B-Tree

Given a table of non-negative integer values and a monotone scoring function, implemented Top-K queries over a relation Table of arity N + 1 using two approaches: 1. Naive priority queue algorithm 2. Threshold Algorithm. Used B-Tree for index creation and Look-up.

Database, top-K

Distributed Hash Tables

This project is a simple implementation of Distributed Hash Table(DHT) based on Chord using Android Virtual Devices(AVD). Running multiple instances of AVDs simultaneously, all the instances together would form a Chord ring and serve requests in a distributed fashion like the Chord protocol. To test this functionality, the content provider also supports insert, delete and query operation.

Distributed Systems, Chord protocol, Android, Java

Keystroke Biometrics for user authentication

Designed an algorithm to enhance the security of the conventional authentication system by capturing the typing pattern of an individual user. Developed 2 algorithms:
1. During New User Registration phase, learn the typing pattern by capturing the timestamps of the keys pressed while typing the password, and processing this data to create a unique typing profile of the user.
2.During Login phase, compare the typing pattern of the individual entering the password with the stored profile and authenticate the user only if the profile is matched.

JavaScript, Servlets, JSP, HTML, SQL, NetBeans (IDE)

Handwritten Digits Classification

Implemented a Multilayer Perceptron Neural Network to classify handwritten digits. Trained the algorithm using the Feed Forward and Back Propagation method to calculate the weights over the input. Using the number of hidden units as 8 the Validation Accuracy was found to be over 90% with better performance over all other units.

Python, Nerual Networks, Machine Learning



SKILLS

Java


Python


C++


HTML/CSS


SQL


Android




AWARDS

Finalist in HackerRank Online Coding Competition
Organized by Open Bracket Delaware 2016
Selected one of the top finalists in the online coding competition and was flown to Wilmington, Delaware where I competed with other finalists.




Photo Gallery





CONTACT

Email
sauti@buffalo.edu
swapnilsauti@gmail.com

Phone
+1 716-541-8866

SOCIAL LINKS

GitHub

Theme BLACKTIE.CO