First Month
Posted on Sat 06 July 2024 in misc
This is about my experience in Google Summer Of Code
Third Blog Post
Author: Aditya Pandey
Date: July 6, 2024
Welcome to my new blog! This is the third post, and I am excited to share my thoughts and experiences about Google Summer Of Code.
What is this Blog about
This blog will cover experience of my first month with GSoC(INCF)
Pre-cap of my first month
Continuing my previous blog post about my Google Summer of Code experience with INCF, I am once again writing down the knowledge I acquired.
The first month went like the wind, probably the most impactful month for me learning programming. It's been an incredible journey of growth and discovery, both in terms of technical skills and professional development. One of my major accomplishments was creating a pull request that added a new module for loading and parsing SWC files. This was a significant step in contributing to the project and improving its functionality. The process of developing this module taught me a lot about file handling, data structures, and efficient parsing techniques.
Also perhaps the most important for me was learning best practices of software development, which have dramatically improved the quality and maintainability of my code. Here are some key areas I focused on:
-
Writing test files: I learned the importance of thorough testing and how to write effective unit tests from my mentors. This not only ensures the reliability of my code but also makes it easier to catch and fix bugs early in the development process.
-
Adding docstrings: I now understand the value of well-documented code. By adding clear and concise docstrings to my functions and classes, I'm making it easier for other developers (and my future self) to understand and use my code.My mentor told me that write docstrings and add comment so that anyone can easily understand and contribute.
-
Implementing type hints: Python's type hinting system was also a important feature which I was missing in my earlier code practices. By adding type hints, I'm making my code more readable and helping catch potential type-related errors before they occur.
-
Utilizing logger functions: I learned about the power of proper logging in software development. Implementing logger functions has made debugging and monitoring my code much more efficient and insightful. I used to use print function but the update turned out to be quite good.
These practices have not only improved the quality of my code but have also given me a deeper understanding of what it means to be a professional software developer. I'm grateful of how much I've learned in just one month, and I'm excited to see what the rest of my Google Summer of Code experience will bring.
The support from my mentors at INCF has been invaluable. Their guidance has helped me navigate these new concepts and apply them effectively in my work. I'm grateful for this opportunity to contribute to open-source software while growing as a developer.
As I look forward to the coming months, I'm eager to build on these foundations and tackle even more challenging aspects of the project. The journey has just begun, and I can't wait to see where it leads!
UCL Lab Meetings
I am fortunate enough to attend Silver Lab's weekly meeting where they discuss many things like lab challenges. The best part is when all the researchers share there learnings of the week. The best part of the academia is that everyone is so calm and composed.I feel many times researchers contributions are ignored but there is no doubt that most of the technologial successful companies stand on the shoulder of the research work done in academia. Although I dont understand much about the discussions of research paper but when I think of it with the first principle everything makes sense.
What's Next
Until now we have developed program to successfully Load and Parse SWC data now the next step will be about converting it to NeuroML It will be challenging because I have to cover large number of edge cases and also understanding soma handling. The good thing is that I have the Cvapp(JAVA based converted developed by my other mentor Padraig Gleeson) to look upto.
Thank you for joining me on this adventure! I'm looking forward to sharing more of challenges and acquired knowledge in next blogs.
Happy reading!