About Me

Unsplashed background img 1

I graduated National Institute of Technology Karnataka with a B-Tech Degree in Computer Science and Enginerring. I am joining Microsoft IDC in June, 2017. I share with you some adventures of my life, because as they say, for an engineer, every project is an adventure ;). Hope you like your ride through my adventures. To know more about me, check out my Resume.

Bachelor's Thesis

Unsplashed background img 1
We implemeted an Evaluation Suite based on Guidelines mentioned in RFC 7928.
  • The project description can be found here
  • The paper based on the project can be found here
  • The source code of the project can be found here
  • The IETF AQM mailing list thread following the project can be found here
  • The ns-3 developers mailing list thread following the project can be found here

Open Source Contribution

Unsplashed background img 1
With computer networks being one of my major field of interest, I have been actively contributing to ns-3 source repository.
DHCP for ns-3

The Dynamic Host Configuration Protocol module for ns-3.12 was RFC non-compliant with only DHCP discover and DHCP offer implemented. I ported it to the latest ns-3 version, and modified it to follow RFC.

IPv6 Support for OLSR in ns-3

I have implemented support for IPv6 in the existing Optimised Link State Routing Protocol in ns-3.25

IPv6 Support for DSDV in ns-3

I have implemented support for IPv6 in the existing Destination Sequenced Distance Vector Routing Protocol in ns-3.25

Python 3 support for Bake

I updated the python 2 compatible Bake source tree to make it compatible with python 3.

Python 3 support for ns-3 utilities

I modified ns-3 python utilities to make them compatible with python 3

TCP LEDBAT for ns-3

I implemented LEDBAT as a TCP congestion control flavour for ns-3.

Updating Tmix Traffic Generation module

I modified the existing tmix ns-3 for ns-3.21 to worked with latest ns-3 versions. Also, I have worked to remove hard coded chunks, provide support for felix connection vectors and shuffling on tmix traces.

Common TCP Evaluation Suite for ns-3

Worked on the implementation of a suite to evaluate TCP variants in ns-3 using real time traffic generated by Tmix. It was based on an IETF internet draft of same name.


I modified the bake system according to this functional specification for supporting contributed code .

Implementation of M-DART Routing Protocol in ns-3

The distributed hash tree based multipath routing protocol for MANET was ported from ns-2 to ns-3.

Parallelisation of Bake resolution process

I implemented the previously unimplemented parallel resolution process of the Bake source code.

Enabling CastXML support for ns-3 python bindings

With CastXML replacing gccxml, I am currently working to update the API scanning code flow of ns-3 to work with the same.

My Projects

Unsplashed background img 1


Random Number Generator

A random number generator coded in Java, C and Python. Read more


Java-Python Based IDE

A java based IDE which runs on top of a python backend, can be deployed in a local area network with linux server. Read more


Renting Website

A Django based website for a customer to customer renting portal. Read more


Congestion Control for Wireless Network

I am working to optimize TCP congestion control algorithm to improve its performance for wireless networks.


Experimentation on ORBIT testbed

Transfered a video file over two nodes of the ORBIT testbed. Read more


Visual Cryptography

Implemented Visual and Extended Visual Cryptography with and without Pixel Expansion. Read more


Detailed Study of Akaros

Studied the scheduler and deadlock management algorithms of Berkeley's Akaros, and solved real life problems of multiple consumer-multiple producer and synchronisation.


Operating System Using COSMOS

Used the operating system framework COSMOS to build a simple operating system in C#/X#.


Symptom Checker

An android application which allows patients to check their symptoms against a set of diseases.


A Detailed Survey of Security Operating Systems

The survey looked into different flavours of linux and other operating systems which aim to provided security to their users.


Process Synchronisation in Baremetal OS

This project implemented counting semaphore using existing Mutex lock in Baremetal OS.

My Publications

Unsplashed background img 1
A Parallel Dynamic Approach for Data Analysis

A publication accepted by ICRCICN 2015, Kolkata, to be published in IEEE Xplore. The project tried to develop an efficient algorithm for software data analysis.Read more

Using Genetic Algorithm for Process Migration in Multicore Kernels

This project aimed to optimise the round robin algorithm for better performance in multicore operating systems using genetic algorithm. The paper based on the project was accepted in COMNET 2015, Ahmedabad, India.

IPv6 Support for OLSR in ns-3

A short paper written on implementation of OLSR for IPv6 addreses in ns-3 accepted in WNS3, Seattle, Washington. Read more

Image Processing Approach to Diagnose Eye Diseases

A publication accepted by ACIIDS 2017, Kanazawa, Japan. The project used colour and shape based feature extraction from human eye and Boosted classification to diagnose different diseases with 95% accuracy.

Common TCP Evaluation Suite for ns-3: Design, Implementation and Open Issues

Accepted at WNS3 2017, Portugal. Manuscript can be found here

Smart Key Generation For Smart Cities

This project tried to develop a framework to collect entropy from end devices and generate cryptographic keys in cloud based smart cities. A manuscript on it was accepted for presented and to be included in IEEE Xplore at CICT 2017, Ghaziabad.

My Summer Internship 2015

Unsplashed background img 1

MOOG India

In Summer of 2015, I interned at Moog Technology Center Bangalore to build a embedded operating system for a TEGRA Jetson K1 board to use the cores effectively. It was a great learning experience for me. It was my first exposure to working in industry and I really enjoyed it. It started on 1st June 2015, in Electronic City of Bangalore. I can divide the whole internship into two phases both of 15 days as the internship ended after a month. The first phase was the knowledge gathering phase where I looked into the existing multicore operating systems. These included Akaros, Barrelfish, Baremetal etc. The biggest challenge of this internship was to use minimal space, as it had to be a part of embedded system. The next phase was to use this gathered knowledge to design the system. The development language for this internship was C.

My Summer Internship 2016

Unsplashed background img 1

Microsoft IDC

I interned at the Microsoft Indian Development Center, Hyderabad. I worked on cool development project by under Foundry Program by Microsoft Garage. I worked with different Microsoft services like Azure, Cognitive services, LUIS etc. At the end of the internship, I was offered a placement offer and will be joining Microsoft as SDE in summer 2017.

My Campus Life

Unsplashed background img 3

Convenor of Web Enthusiasts' Club NITK

I am the convenor of Web Enthusiasts' Club NITK for the session 2016-17. Web Enthusiasts' Club NITK is a group of people who love codes. Find more about Web Enthusiasts' Club NITK


I am associated with WiNG NITK for many different student projects currently taken up by the group.

Campus Geek NITK 2016

Campus Ambassador for National Institute of Technology, Karnataka at Campus Geeks Connect -GeeksForGeeks 2016. Check them out on facebook

Joint Convenor @ Engineer 2016

I was the joint convenor at NITK Annual Tech Fest Engineer 2016. I worked with the computer science committee, responsible for several offline and online computer science based events.

Executive Member of IE NITK

Became a memeber of the NITK Student Chapter of Institute of Engineer's in 2014. IE is a group of people who are interested in different fields. It known for its versitality. Find more about IE

Ode of Code

Unsplashed background img 1

In January of 2017, I started writing about my experiences with programming, coding and hacking. This blog is not an attempt to put something which is new. This blog is just a medium to circulate some tricks which I picked up over time and which a lot of people generally miss. Go to the blog