Codementor Events

About Me

Published Jun 02, 2020

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:

  1. 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

  2. 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

  3. 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

  1. 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

  1. 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

  2. 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

  3. 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

Discover and read more posts from Rutuja Surve
get started