About Me
I am a software developer at Google and have been lucky to have interned at tech giants like Amazon and Nvidia.
I have expertise in training for interviews at software tech companies, with a focus on
Data Structures and Algorithms, System Design and am skilled at Open Source Software and programming languages like Python, Java, C++, Version control systems
and databases.
I have been a core contributor (C++) at MariaDB foundation (2018-2019) and have contributed to projects under Mozilla (Outreachy intern 2016), Linux Foundation (OPNFV intern 2017 - Python) and OWASP code sprint 2017 (Python) and am an active contributor at QuantStack (Mamba project), Google BigQuery (Scientific Computing) and OpenMined - PSI library (Homomorphic encryption protocol).
Links to free software contributions:
-
Mozilla Firefox (Outreachy Open Source Project) (May - Aug 2016)
Participated in the May-August 2016 round of Outreachy
Made the following contributions to Mozilla during the course of the
internship:
a. Designed and developed a content-process management tool that can
track real time memory usage across each process in the Firefox browser
b. The project helped scale up and tune the number of content processes
that Firefox starts or uses, keeping memory measurement in mind
The tool is accessible by hitting about:performance in the Firefox
browser (got shipped in Firefox 51 onwards) and it reports the RSS and
USS memory performance and is platform-independent (works well on
operating systems like Windows, Linux and Mac OS X)
• Links to contributions:
Bug where the code (Javascript,
HTML, CSS) was discussed and merged is available here:
(Bug 1255843 - Develop a tool to measure resource usage of each sub-
process)
• https://bugzilla.mozilla.org/show_bug.cgi?id=1255843
Final reviewed and accepted patch:
• https://bug1255843.bmoattachments.org/attachment.cgi?id=8787481
Blog about the work is available here:
• https://rutujasurveblog.wordpress.com/
• Links to other bug-fixes:
a. (Bug 1061521 - Throw Component.exceptions instead of strings in
about:memory)
https://bugzilla.mozilla.org/show_bug.cgi?id=1061521
(Patch link:
• https://bug1061521.bmoattachments.org/attachment.cgi?id=8738227).
b. Prior to this patch, test cases for testing loading of reports from
aboutmemory.js using test_aboutmemory3.xul were working only partially (3
passed and 1 failed). After this patch, all test cases pass (7 out of 7,
with 0 failures).
(Bug 1115006 - Use Downloads.getSystemDownloadsDirectory to get the
download directory for about:memory)
• https://bugzilla.mozilla.org/show_bug.cgi?id=1115006 -
OWASP Code-Sprint (Jun - Jul 2017: (AppSensor Project)
Worked with Python and built a web server log analysis tool suite based
on ML (machine learning) in Python using Numpy, SciPy, Scikit-Learn and
K-Modes libraries. This accepts as input web server logs (apache) and
provides as output a determination of requests that are considered
"attacks". Used different algorithms like Clustering, Decision Tree,
Naive Bayes, etc. after parsing through the log data, converting it to
python dictionaries from Json objects and pre-processing it before
classification.
• Link to sample patches:
• https://github.com/rutujasurve94/OWASP_AppSensor (Git Repository)
• https://github.com/rutujasurve94/OWASP_AppSensor/blob/master/Auth_attack_NaiveB_Decision_Tree.py
• https://github.com/rutujasurve94/OWASP_AppSensor/blob/master/K-Means_ipaddr_user.py
• https://github.com/rutujasurve94/OWASP_AppSensor/blob/master/OneHotEncoding.py
• https://github.com/rutujasurve94/OWASP_AppSensor/blob/master/k-prototype.py -
OPNFV BottleNecks Project - Linux Foundation (September 2017 - Jan 2018):
Contributed to the Bottlenecks project at OPNFV for developing a monitoring dashboard for long duration stress tests of VNFs.
Used Prometheus for querying and as datasource, Cadvisor and Collectd plugins for collecting system metrics, Grafana for displaying the dashboard and Docker for installation
on all VNF nodes. Presented at OPNFV Plugfest at ETSI France in June 2018.
Links to contributions available on Gerrit (code-review system used by Linux OPNFV):
a. Prototype of Grafana dashboard using Prometheus query language for displaying system and docker performance metrics:
• https://gerrit.opnfv.org/gerrit/#/c/47567/
b. Barometer automated installation script for jump server
and compute/controller nodes for collecting OVS and collectd statistics
(docker installation):
• https://gerrit.opnfv.org/gerrit/c/bottlenecks/+/52403
c. Collectd Client-Server installation automation script
• https://gerrit.opnfv.org/gerrit/c/bottlenecks/+/46657
Links to all other contributions to the project are available here:
• https://gerrit.opnfv.org/gerrit/q/status:merged+author:+rutuja
- MariaDB Foundation (Core Contributor 2018-2019):
Contributed to the development of Reverse Privileges (DENY) for MariaDB, presented at Percona Live
Conference, Europe, 2018. Drove community contributions and helped on-board new contributors.
Link to the presentation by mentor Vicentiu Ciorbaru:
• https://www.percona.com/live/e18/sessions/mariadb-104-reverse-privileges-deny
Links to contributions available here:
• https://github.com/rutujasurve/server/tree/rs-reverse-privileges
• https://github.com/rutujasurve/server/commit/067edbab7b8161c1c2a01f8d0f417549a43efffd
-
QuantStack (2020):
Built a functionality to display package dependency tree like Conda-tree for Mamba:
• https://github.com/QuantStack/mamba/pull/177
• https://github.com/QuantStack/mamba/commit/4cbb20d58ed5f2e677fe63e2e3c5db62ef34333c -
SunPy (2020):
Contributed to the NumFocus Funded Project 'SunPy' in collaboration with NASA.
• https://github.com/sunpy/sunpy/pull/4135
• https://github.com/sunpy/sunpy/pull/4137
• https://github.com/sunpy/sunpy/issues/4156 -
OpenMined PSI (2020):
Private Set Intersection Cardinality protocol based on ECDH and Bloom Filters. Links to contributions:
• https://github.com/OpenMined/PSI/commits?author=rutujasurve94