My GSoC’21 Journey..
Hi There, As almost half of the time has gone, I am gonna share my overall experience and progress in GSoC programme.
20 March 21
As you know Google announced which organisations are going to participate this year.
For two days I didn’t even tried to open the gsoc page to see the organisation pages as I thought I wasn’t prepared to do a shot at GSoC and the only thought in my mind was that why should I even bother to try if I am not ready.
And then For 2–3 days my friends constantlly asked me like “hey dude, you checked the list😏? Which organisation are you going to apply for?” And I was like ….
But after that I decided to build courage and look for the organisations once and atleast try to give it a shot. So I looked and filtered out some of the repositories, double checked all the projects of the year and spent 10 hours in that. Then went to IRC channels or mailing groups of most of them and looked for the conversations and activities going on.
And there Libre Space Foundation caught my attention. It was all that I was looking for. The space stuff, satellites, web development and some coding. That’s it. I will try to participate in it.
So I looked and filtered out some of the repositories and there Libre Space Foundation caught my attention. It was all that I was looking for. The space stuff, satellites and some coding. That’s it. I will try to participate in it.
Fast Forward to May 17, 2021
I got the mail from Google and boom… I was on the ninth cloud. I got selected.
The Libre Space Foundation is an open source organization that as a vision has a free and accessible space for everyone. In order to make its vision a reality, people from all over the world are participating in open source technologies that involve both on-earth and off-earth constructions.
Polaris is a Project under LSF umbrella which aims to apply Machine Learning to Satellite telemetry data and obtain different kinds of useful results and relations. You can also join the discussion at element.
My Proposal in Polaris is to set up building blocks to detect Anomalies in the satellite telemetry data through command line and to generate interactive Web Based Reports and graphs for the user to visualize better the output results.
If you guys havn’t seen my proposal to polaris then you can see it here.
In this time we talked over chat in element channel, did amazing video calls over jitsi platform. The whole community is amazing. There is a huge time-zone gap between as people are from almost 5–6 different timezones but then also we meet regularly with ease. We discussed about the roadmap of what to do in upcoming days and build out a roadmap. I didn’t know much about space telemetry and satellites so I learned a lot from the community.
Coding phase begins
We planned stuff, fixed bugs. did some sword fights over topics and Merge Requests and Issue Filing became regular thing for me.
I learnt importance of how to code properly, give proper names to different functions, explain the aims of the code more clearly and a lot more.
Add option to show list of supported satellites — MR184
Added a new option in command line utility of polaris fetch to list all possible satellites that it supports in `polaris fetch` command
Make AnomalyDetectorConfigurator && AnomalyDetectorParameters Class — MR192 && MR196
Make classes for Configurator and parameters of configurator that will be used and would be changable by user and will be used in anomalyDetector
Revamp detector.py Into AnomalyDetector class — MR199
Revamp the old detector.py file which contained some functions to detect the anomalies to a Class AnomalyDetector which contained to train, test, detect events and save data. It also uses AnomallyDetectorConfigurator for customizable hyperparameters by users
Output Result Of AnomalyDetector with AnomalyOutput — MR202
Make a class to output the results of AnomalyDetector into a nicely formatted json file. The output json contains events detected, metadata of satellite and original values of telemetry.
Add New Command `Polaris behave` — MR204
Add a brand new command
polaris behave for command line interface to take input data generated from
polaris fetch and detect and output the results from command line itself.
Some Initial Graphs generated from AnomalyDetector
The next goal is to make web based graphs denoting the data and events detected in interactive formats.
The reports will several functionality like picking a specific date or date range to view the data of a specific window of time. There will be stacked graphs of telemetry and also graphs of individual parameters along with highlights of anomalies detected. And hopefully other functionalities like exporting these reports in different formats like pdf or exporting graphs in image formats etc.
Also As The project move forwards there is a lot of future work to do like predicting telemetry responsible for anomaly by graph comparison, NaN filling strategies and other kind of data cleaning, timeseries reordering, etc.
I am Ayush Bansal, Currently I am pursuing Bachelors in Technology in Electronics and Communications Engineering in Indian Institure of Technology Roorkee. I like Web Development and machine learning.
Apart from coding I like badminton, movies and riding bike with friends.
You can contact me by any of the following link.
In The End
I am grateful to all the polaris members for helping me out and answering my stupid questions. You all are the coolest………………….