Self motivated individual striving for excellence with emphasis on experimentation, cleanliness, robustness and security in developing software applications. Part of many iconic software products from Photoshop and Illustrator to Adobe Capture. Creator of award winning augmented reality mobile apps from the IxDA Interaction Design award to the FWA App of the day. Full stack Web Development(Rails, Node.js, Angular, React), Native iOS, MacOS and Win32 - comfortable with any technology. Simple work mantra - “You define the problem. We search the solution.” Available in the San Francisco Bay Area.
Senior Computer Scientist at Adobe Systems Incorporated
Part of the team that develops Adobe’s flagship sync solution for ingredients. Also play role in deciding the interchange formats of ingredients and methods for concept & code re-use in multiple diverse platforms across Adobe’s Desktop, Web and Mobile properties.
Spend considerable time understanding the diverse re-usable styles, their differences across the realms of design from videos to screen illustrations and print.
Only engineer who participated in creation of Adobe Shape from prototype to release (Adobe Max 2014) involved in the entire cycle of ideation, prototyping, validation, optimization and release. The app saw over a million downloads in less than a year before being merged into Adobe Capture.
Spent considerable amount of time learning complexities around image segmentation, edge detection and augmented reality using OpenGL in mobile environments.
Influential member of the small member team that resurrected Adobe Kuler (800k+ registered users) from maintenance mode to be a part of two consecutive Adobe Max keynotes (2011, 2013). Major contributor to the architecture and implementation of the full web stack, its deployment as well as the native iOS Adobe Kuler app (now Adobe Capture).
Spent considerable time designing and migrating a running service with hundreds of thousands of daily visits to a completely different architecture from Coldfusion and Flash to HTML5 & nodejs over AWS.
Managed the Adobe Creative Suite SDK which powers HTML based extensions including the Adobe Digital Publishing Suite into Adobe InDesign. Went through the architectural migration of a complicated multi-gigabytes code-base from Carbon to Cocoa based MacOS architecture.
Spent considerable time understanding the complex architecture of InDesign and Illustrator, learning the best practices of software development and maintenance.
Developed a Fault Injection tool to test Windows Mobile 6 applications which could inject functions before and after any function present in a dll, including system calls like malloc and fopen (Sophomore Summer Internship 2008).
Thirst for knowledge is quest forever. I am a student for life, always learning. These formal courses form a major part of that learning.
Studied Artificial Intelligence through graduate courses as a part of Stanford’s SCPD program.
Loved to be a part of the strong community of dedicated students engrossed in learning a field of study that promises immense impact on mankind. From Bayesian and Markov models to SIFT and then to LSTMs and Image Nets, it was funt to take modern AI to a spin.
Bachelors in Engineering
Completed engineering with CGPA of 9.84(10) and a merit scholarship from the University.
Dedicated, hardworking faculty and immense opportunity provided by various programming contests in North India had an immense impact in developing my skills.
Amongst school toppers with 94.6% in Class X and 96.25% in Class XII under the ICSE/ISC board, New Delhi. Completed schooling with a merit scholarship.
Schooling instills curiosity and persistence in an individual. I was blessed with some of the best teachers in North India.
I love experimenting with emerging technology. Most of my experiments still await a sponsorship to be productized. Here lies the selection that could get through.
Generation of salient contours using live video
In various implementations, a computing device is configured to provide a live preview of salient contours generated on a live digital video feed. In particular, a designer can use a computing device with a camera, such as a smart phone, to view a real-time preview of salient contours generated from edges detected in frames of a live digital video feed prior to capture, thereby eliminating the unpredictability of salient contours generated from a previously captured image. In some implementations, the salient contours are overlaid on a greyscale conversion of the live digital video feed for improved processing and visual contrast. Other implementations modify aspects of edge-detecting or post-processing filters for improved performance on mobile computing devices.
Architecture for low overhead customizable routing with pluggable components
US Patent Filed: A modular IOT enabled router with user controllable and pluggable modules. The architecture of the router and plugins allow users to install packet level and application level modules at real time without affecting the latency and router performance. The installed modules are executed in parallel in their own executing unit and in the predefined or user-specified order. The leveled architecture allows fine-grain control of the routing and forwarding internals like QOS, deep packet inspection, encryption, traffic flow control, and traffic filtering via packet level modules. At the same time, it allows running service like a proxy, firewall, web acceleration, ad blocking via application level modules. The full control provides an easy interface for a developer to write plugins for new protocols, SDN, IOT, and user applications and run them in separate controlled execution engine without affecting the core router engine that is running security.
Ever tried calling C++ from Node or Electron. Hate native modules because of the compilation and maintenance issues. This talk is all about the solution to this problem - N-API that is stable with node 10. C++ to Node.js interop is a lot of fun.
Created Fundoori, a Yahoo-like portal for Patiala city.
Was amongst the school as well as state toppers
NTS Scholar - NCERT Govt. of India (2004)
Aptitude and Achievement Test(AAT) All India Ranks (Biology, Geography)- ICSE Board, New Delhi
INCA Map Quiz (3rd) - Survey of India.
School Official (2003)
Multiple achievement awards during annual day.
Toastmasters International - Competent Communicator, Competent Leader - Fair Oaks Toastmasters (7528) - Past Secretary, Treasurer, VP-PR(Present).
Movie Making - Editor for short films, including Wasim that one first prize in IIT-R Thomso (2008)
Organized Aranya 2008(Thapar University), developed its website as well as Shauryagaatha exhibition(2007, 2008)
Multiple awards for drawing and painting during schooling.
Completed Kashmir Great Lakes and Kedarkantha treks.
Below is a selection of some of my popular projects, their short descriptions and useful links.
Adobe Shape CC
Real-time raster to vector conversion. Right from your iPhone or iPad. Inity made for iPhone 4+, it was merged into Adobe Capture on iOS and Android.
Briefly after its launch, this app was selected by Apple to be a part of the demo iPhones shown to the users at the Apple Stores. With almost a million downloads, Adobe Shape made into the marquee feature of Adobe Capture.
Twist to the classic maze game where you control the acceleration and not the speed.
Created when I was a kid. Lost source code. It has over 30 levels with a proper dragon level in the end, bonus level on every 5 levels and clear instructions on how to play. Windows only. Relive the glorious days of simple indie flash games.
Home Screens of Adobe’s Flagship dekstop applications - Photoshop, Illustrator, InDesign, After Effects, Premiere Pro and Dreamweaver. Provided stunning visuals to introduce new features and orient users on a A/B tested, server-controlled, offline-first, prime screen space on the machine.
More than a blogger. I write to academic journals, websites, magazines and anywhere I can get my hands on.
Architecture for High Density RFID Inventory System in Internet of Things
This paper proposes a novel architecture of Internet of Things (IOT) implemented using RFID. Our proposed architecture solves the problem of over-loading as the load on the RFID Tag reader is the total number of changed objects rather than the actual number of objects present. Our architecture is based on EPCglobal Network with some assumptions and modifications. We have discussed in details the components and working of our model. We have also discussed the physical implementation of our model taking the examples of two sample applications one for the retail system and other for smart home applications and their performance results have been tabulated and represented graphically.
Impact of Coordinator Mobility on the throughput in a Zigbee Mesh Networks
Zigbee (IEEE 802.15.4) standard interconnects simple, low power and low processing capability wireless devices. The Zigbee devices facilitate numerous applications such as pervasive computing, national security, monitoring and control etc. An effective positioning of nodes in a ZigBee network is particularly important in improving the performance (e.g., throughput) of ZigBee networks. In the wireless sensor network (WSN) literature, the use of a mobile sink is often recommended as an effective defense against the so-called hot-spot phenomenon. But the effects of mobile coordinator on the performance of the network are not given due consideration. In this paper, we perform extensive evaluation, using OPNET Modeler, to study the impact of coordinator mobility on ZigBee mesh network. The results show that the ZigBee mesh routing algorithm exhibits significant performance difference when the router are placed at different locations and the trajectories of coordinator are varied. We also show that the status of ACK in the packet also plays a critical role in deciding network performances.
Modified Epc Global Network Architecture of Internet of Things for High Load Rfid Systems
This paper proposes a flexible and novel architecture of Internet of Things (IOT) in a high density and mobility environment. Our proposed architecture solves the problem of over-loading on the network by monitoring the total number of changed objects changing global location crossing the fringe boundaries rather than the actual number of objects present or those that move within the local area. We have modified the reader architecture of the EPCglobal Architecture. The components and the working of the model has been illustrated in detail. We have also discussed the physical implementation of our model taking the examples of a smart home sample application and the performance results have been tabulated and represented graphically.
Question Answering is a very important cornerstone of natural language processing where a machine should be able to understand human language to an extent that an individual could ask questions to the machine in the language he/she understands and then get the answers back in the same language without the involvement of experts. In this project we evaluate a neural network based Question Answering system using a simple model and see how a very basic model performs on the StanfordQuestion Answering dataset.
Generic 3D reconstruction from a single image is a difficult problem. A lot of data loss occurs in the projection. A domain based approach to reconstruction where we solve a smaller set of problems for a particular use case lead to greater returns. The project provides a way to automatically generate full 3-D renditions of actual symmetric images that have some prior information provided in the pipeline by a recognition algorithm. We provide a critical analysis on how this can be enhanced and improved to provide a general reconstruction framework for automatic reconstruction for any symmetric shape.
Artificial Intelligence is becoming instrumental in a variety of applications. Games serve as a good breeding ground for trying and testing these algorithms in a sandbox with simpler constraints in comparison to real life. In this project, we aim to develop an AI agent that can solve the classical Japanese game of Sokoban using various algorithms and heuristics and compare their performances through standard metrics.
After knowing the basics of programming, one should know the assumptions and constraints of the domain. It doesn’t matter what language or tooling is needed. You can get upto speed quickly.
Your JS framework (React / Angular)
Node.js, Ruby on Rails, Python
N-API, FFI and native modules
AWS or Custom deployment
SEO, A/B testing, Analytics
On Call experience
TS, ES5, ES6, Webpack, ESLint, Babel
GCD, Threading, Networking
Core Graphics, Core Animation
Core Data, Migrations, Updates
Inkling of Swift
Windows, MacOS, Electron
C++ / C# / ObjC / Java
Electron with Native Modules
Your language / framework
Mosum Gaba Colleague at Adobe
He was the one guy in the team who stood apart due to his ‘out-of-box’ thinking. He is able to take up responsibilities and has the capability to deliver.
Shamit Mehta Reporting Manager at Adobe
(He) is widely recognized in his team and across the organization as a prolific developer. Above all he understands the business and customer needs very well.
Gaurav Dewan Colleague at Adobe
Methodical, precise and organized. When he takes up a task, he strives for the best and aims high. Among his notable personal traits are modesty and sincerity.
Rohan Khanna Colleague at Thapar University
One of the most skilled and knowledgeable person I had come across while in college. Can handle, with ease, all the tasks that are allotted to him.
Gavin Peacock Reporting Manager at Adobe
It was astounding to see how rapidly he came up to speed and became a key member and lead on the team. He has the ability to take on all aspects of a task, understanding everything required to get things done. He has made a great impact. I highly recommend him!