TL;DR; Mostly 404 otherwise figuring out solutions or next problem to solve.
Key area of expertise
|Camera||Particularly Android App side, Camera2, Good knowledge of ISP pipeline|
|Computer Vision||Primarily around Camera needs, Night Mode, HDR imaging|
|Android Performance||JNI, Native, Android Image processing, Real-time processing (OpenGL), Renderscript, Tflite inference on device|
|Android Memory||Android Internals, Java and Native memory, ION memory manager|
|Distributed Systems||High Availability, Resilience & Robustness|
now() Senior Software Engineer at Google
⚓ Singapore, May 2019 to present
I lead computational photography features like HDR, Low light imaging (night mode), portrait mode in Camera from Google. It’s an exciting project which requires building best in “segment” computational photography algorithms improving image quality on less than ideal hardware while being able to process millions of pixels under low latency on rather low-end devices.
My primary area of focus have been around optimizing the app to run feasibly on low CPU, low RAM devices, but these days I spend a fair share of time improving image quality of HDR.
- Leading a team building computational photography features in Camera from Google app, our feature portfolio includes Night Mode, HDR Mode, Portrait Mode (real time and post processing) & Face Enhance.
- Led launches of features like Night Mode and HDR that run on devices with as low as 1Gb ram & low CPU specs.
- Designed and implemented the processing pipeline responsible for scheduling processing of multi-stage image processing on resource-constrained devices.
TIL: Did you know a 1Gb Android device only has ~880Mb of available RAM of which only about ~450 Mb is left for applications to run on? Learn about carveout memory in Linux
Areas I work on these days
- Android, Android Fundamentals, Android Camera, Android storage
- Linux Fundamentals, Memory management in Android
- Computational Photography, Image Processing
now(/* index= */ -1) Software Engineer II at Microsoft
🇮🇳 Hyderabad, India, June 2016 to May 2019, ~3 years
Worked primarily with Microsoft Azure. My day to day involved applied data science, Azure cloud services, distributed systems, and some part of Azure UI. My team was working on an intelligent alerting platform in Azure on features like Smart Grouping capable of automatically grouping user alerts from different sources to reduce mean time to mitigation for customers.
- Led design and implementation of 99.99% available Azure Alerting platform (4 9s of availability). The effort centered around making the service resilient to regional datacenter outages,
- Led design and implementation of alerts correlation service that could group similar Azure alerts to surface relevant alerts to customers and reduce noise.
- 1st prize (Microsoft wide) in the annual hackathon in the Universal Windows App category. The project involved HoloLens and IoT.
- Runner ups in short paper presentation in Synapse - AI Meet 2017 (Microsoft IDC).
Did you know 99.99% availability means only acceptable downtime of only 4m 23.0s per month :O
Areas I worked on:
- Applied ML, Unsupervised Learning, Bayesian Networks, Knowledge Graphs
- Distributed Systems, Systems design, High Availability
now(/* index= */ -2) All roles @Todofy
Built in my hostel room @New Delhi, Delhi Technological University, ~6 months in 2015
Todofy was an ambitious project to organize more than 100 million
TODOs present in Github codebase at the moment. The goal was to build a platform to add life-cycles for those todos and get them to completion and collaborate on them. See mebjas/csrf-protector-php for example. I built this from scratch in the final year of my engineering and hence my roles involved that of an Engineer, Product Manager, PMM, TPM, UX, UXR, and so on. I still feel the problem exists and this could be rebuilt with a much more matured design probably as a
PaaS service if not
SaaS solution and could leverage the huge corpus of data on Github to make it super powerful.
Open Source Contributions
HTML5 QRCode | Author, Maintainer | Since 2014
It’s a QR code reader for the web, built on vanilla js works for different frameworks, operating systems and platforms. Check demo here. Getting more traction everyday!
OWASP CSRF Protector | Author, Lead Maintainer | Since 2014
Author and main maintainer of this OWASP project since 2014. This project started with my participation in Google Summer of Code with OWASP in 2014 under the mentorship of K. W. Walls and Abbas Naderi. Read more about the project in the OWASP Wiki.
OWASP CSRF Protector Project is an effort by a group of developers in securing web applications against Cross-Site Request Forgery, providing a PHP library and an Apache Module (to be used differently) for easy mitigation.
Ask me anything
Please note that, I’ll delete the comments here after the request / question is answered.