Deepak Karki
Designer Prototyper Innovator

About

karki@karki-Lenovo-G570:~$ whoami


I'm a software developer from Bangalore, currently working with Nutanix India on some cutting edge hyperconverged technology. My interests revolve around operating systems, distributed systems, virtualization and networks. I'm an alumni of PES University, I graduated with my bachelors in computer science and engineering. Being a FOSS enthusiast, I love attending meetups and conferences that deal with opensource technologies. Feel free to ping me if you want to talk about technology, open source and entrepreneurship.



Work

Workhorse @ 755bhp


Jan '15 - June '15
PayPal

SDE Intern, PayPal

I worked as an intern on a data analytics and visualization platform involving Druid, Node.js, AngularJS and D3.js.

May '14 - Aug '14
GSoC-2014

Contract Developer, Google

I interned for BeagleBoard during Google Summer of Code 2014. I was responsible for developing a scripting interface for the real time co-processor (PRU) on the Beaglebone Black. Work included developing device drivers, interpreters, understanding PRU architecture and coming up with an effective software design.



Aug '13 - May '14
PES embedded system

Student Head
PES Embedded Systems Club

During my 3rd year, I lead the Intel funded embedded systems club of our department. Here I build projects ranging for IoT to gesture controlled 3D printed roboting arms. As the lead, I was also responsible for managing the some of the funds and mentoring juniors.

Aug '13 - May '14
GSA

Google Student Ambasador, PES University

The GSA program is a voluntary program designed to have a liaison between Google and Academia to strengthen the collaboration and evangelize cutting edge technologies.



June '13 - Aug '13
MIT AITI

Software Developer, MIT AITI

At MIT GSL, I learnt about business aspects of a startups and developed core software components of our product. The app dealt with recording the memorable moments during your vacation and storing them on the cloud. The frontend was developed on Android and the backend was developed using Ruby on Rails.

Sept '12 - May '13
Ordell Ugo

Group lead and MTS, Ordell Ugo

Ordell ugo is a virtual company concept which is incubated in PES University. Here I lead a group of five members on a project dealing with Entity Path profiling using Open Street Maps. Work involved XML parsing, routing algorithms and data visualization using mathplotlib.

Projects

I consume code, code consumes me.


Project Zygote
This is a generic IoT framework to quickly create and deploy custom IoT solutions. Framework's frontend is integrated with Freeboard for effective data visualization. Read more on Github
DroidShield
Droidshield enables the Arduino to use your smartphone's features (accelerometer, camera, etc). Project consisted of developing an android app and hardware side API. Read on Github
PRU Speak
PRU Speak enables realtime I/O from a linux environment on the Beaglebone Black. It leverages the remote processor on the SoC, and gives it a botspeak scripting interface. Read more on Github
Project Flash
Collection of various kinds of HTTP servers (written in python), written to benchmark performance based on architecture of server and nature of requests. Read more on Github
PyBBIO
Added I2C support to the official Python IO library of the Beaglebone Black. Commits successfully upstreamed.
Read more on Github
Cloud Lab
This application changes the traditional lab model into a SaaS model. All lab materials and management software were bundled into an online service. Read more at Github
IoTA Box Toolkit
A toolkit for prototyping of hardware-mobile apps. IoTA box and the Android API enables android developers to create hardware apps without writing h/w specific code! Read more at Github
Animatronic Arm
A Leap motion controlled, 3D printed robotic arm. Mimics user hand motion over the network. The arm is bluetooth enabled. Read more at Github
PyMaps
A map rendering application developed for entity path profiling. Matplotlib was used for visualzation, OSM map traces served as data sources (XML). Read more at Github
PyAntlr
A python mockup of ANTLR, the LL(1) parser generator. Handles non left recursive, left factored context free grammars. Light, clean and efficient. Read more at Github
Nostalgia
A holiday recorder android app. Records your memorable moments on your trip and gives you a holiday canvas for you to share with others. The client was developed on Android, backend using Ruby on Rails.
Embedded Tetris
The classical tetris game developed on the AVR ATmega8 MCu using the Nokia 3310 LCD display. This involved using the SPI protocol to manage the LCD bitmap. Light, clean and efficient. Read more at Github


A few other projects carried out by me

  • Social blogging application that was built using Spark java and MongoDB
  • A cross platform note maker app using PhoneGap. Features included notes, todo lists, calendar and alarms.
  • A Multi layered feed propagation neural network in Python.
  • DB scan Algorithm + visualization developed using Python and Matplotlib.
  • Android + Arduino based home automation system.
  • A Java based desktop photoviewer application. User can create slideshows and save them for later.

Skills

Acquired by trying new things!


Web and Design

HTML5
40%
CSS3
30%
jQuery
20%
Web-Services
50%

Systems and technologies

DS & Algorithms
60%
OperatingSystems
65%
Compilers
60%
Data Mining
25%
IoT
60%

Programming languages

C
50%
Java
40%
Python
70%
Javascript
50%
PHP
10%

Development Platform

Linux
40%
Android
40%
Beaglebone
50%
Opensource
50%

Things that really matter

Hard Work
100%
Being Innovative
100%
Learn new things
100%

More about me

Because you are still interested!


Open Source

I'm a huge open source enthusiast and have been contributing to various projects for a while. I took part in the google summer of code 2014 and developed PRU Speak, which is now distributed as a standard pre-installed package on the Beaglebone Black. The kernel drivers are now part of the official BBB Linux 3.8 distribution. This year I was a GSoC mentor (2015) for beagleboard. I also spoke at FOSS Asia singapore about open source hardware and related technologies.

Publications

I have worked extensively on IoT technologies, and recently published a paper titled "Zygote : a platform for prototyping smart devices" at the 21st International Conference on Advanced Computing and Communications - ADCOM 2015. I have written a guest chapter on real time computing for the Beaglebone Black Cookbook and was the technical reviewer for the same. I have also written a chapter on CPython extensions for the book Intermediate Python


Scholarships

I was one of the few students across the globe to be awarded a scholarship of $16,000 for my undergraduate study by the Institute of International Education, USA under the LSI Chairman Scholarship program. The student selection criteria was decided based on scientific temperment, college grades, extra curricular, co curricular activities and leadership qualities.

Entrepreneurship

I have been inclined towards entrepreneurship since my child hood. I have a special interest in startups dealing with Education and theInternet of Things. I was a part of the prestigious MIT GSLacclerator in 2013 which helped me understand the internals of startups and also make very valuable networks. I'm also active on various online groups and occasionally attend meetups.


Hackathons

I love hacking and building cool stuff. It helps me destress and learn new things! I'm a nocturnal creature and have no problems with pulling off an all nighter (given that there is an unlimited stream of coffee!). I won the very first hackathon I participated in "#code-2013" where I built a android based home automation device. If there is a IoT hackathon in town, be sure to tell me!

Mentorship

As much as I love developing, I love teaching and mentoring people who share the same interest as me. This way I help others while also getting a deeper understanding of concepts and techniques myself. I have mentored teams for different occasions ranging from the CBSE science fair for school students to my university juniors while they were a part of the Embedded systems lab.


Learning

I learn from a lot of sources, starting from teachers and friends to online lectures. One big teacher for me has been MOOCs, I'd recommend coursera, edx, udacity in that order. I have completed 2 courses till now, and have nibbled through a lot more. The most fun way of learning stuff for me has been learning through handson development and opensource.

Recreation

After a day of coding I really need to relax, and the best way is to do that is through sports. I enjoy playing Table Tennis and Volleyball and occasionally going out for a run with my dog. I'm also quite active on quora and share my knowledge on Technology, Career, Programming and India. I have answered over 250 questions and have twice the number of followers!