Week 1-2 (Community Bonding Period) 🌎

Published: 06/07/2021

Hey friends!
Happy to say that I'm off to a great start to Google Summer of Code! The first 2 weeks we have the Community Bonding Period, the idea behind this is to get a good grasp of the codebase and connect with the wonderful people at the organisation.
My community bonding period started with an insightful discussion with my mentor Dyllan McCreary, who walked me through the new codebase Activeloop has been working on for Hub 2.0. He was kind enough to get deep into the important parts of Hub. Dyllan assigned me a few (3) tasks that would help me get familiarised with the codebase.
This session was quite helpful and now that I have tasks assigned to me I thought it was great that I could get a head-start to the summer of code!

Task 1: Depickle the code!

As a general practice it is advised against to use pickle() in your code as it is susceptible to security vulnerabilities. Hence, I was required to replace all occurances of pickle.dumps() and pickle.loads() to something else. (json did the trick!) For more info on why pickle shouldn't be used check this out.

Task 2: Convert IndexMap to a list of IndexMapEntry

This task took the longest to complete. We have been through multiple ways we could do this and have decided to stick to the class method. I was required to convert Indexmap from a list of dictionaries to a list of IndexMapEntry (new class). Thus creating new classes for both IndexMap and IndexMapEntry, followed by writing tests for the same. In the course of this task, Dyllan introduced me to a datatype namedTuples and also helped me get started with parametrising tests. I have implemented the classes and tests however, this broke some part of the other code the team has tirelessly put together :(
I am currently working on it and it should be done by today 🤞🏻

Task 3: Modify Read/Write fixtures for cache in Storage tests

This was a 2-minute task but it helped me get familiar with a few storage things that happen under the hood in Hub 2.0.

All these tasks were designed to give me a solid head start, in hope of making me feel at home when working on my project this summer!

Apart from these tasks we witnessed the launch of the Alpha version of Hub 2.0 on 3rd June 2021. It was a wonderful launch where the team showcased all the shiny features coming to Hub 2.0 with a progress report on what is implemented. The results displayed more than a 6x increase in performance compared to Hub 1.0. Activeloop's CEO Davit Buniatyan's presentation showed what the team has achieved with Hub 2.0 is truly remarkable!
Things are just getting started and I am beyond excited for what is to come! ♥️