Year in Review - 2022

Year in Review - 2022

In brief, 2022 treated me well. It taught me many things. Here are some of them -

#1 Planning helps. Yes, a lot.

I started by learning Object Oriented Programming in C++ alongside my college course. I was able to make sense of Inheritance, Polymorphism, and Design Patterns by working on a project where I built a clone of Reddit. I did make UML diagrams for the classes and the relationships between them. I was the kind of person who felt all the methodical planning stuff to be pretty much nonsense. The fact that the UML diagrams were helpful to figure things out while coding in C++ removed that misconception from my mind.

#2 Appreciate the foundational stuff. Try to learn them.

I learned Operating Systems from an amazing Professor of mine at my college. I never appreciated my OS enough for what it does for me 🥹. Parallel processing, Process Scheduling, Processes, Threads, File memory management, and lots of concepts form the basis of the GOAT - The Linux Kernel. I also did learn the Principles of Compiler Design which I came across - Grammar, Parsing, and Parsers. The process that Parsers use to interpret the high-level language syntax is interesting to know about.

#3 Reaching out to people always pays off

One fine day I came across a LinkedIn post from which I got to know that the registrations for Google Summer of Code 2022 were open. I knew about GSoC before because I had participated in Google Code-In. I just went on and registered for it and started looking for an Ideal project. I browsed for projects and organizations based on the tech stack that I felt to be interesting. I found a project from R project for a statistical computing organization that I couldn't let go of. I did my research and drafted a proposal. I reached out to my mentor who was very passionate about this project. It was very evident from the interest he had shown in the emails he sent. He gave me suggestions that ended up helping me get selected. I developed an R package called VedicDateTime during the coding period of GSoC.

About the R package:

VedicDateTime introduced a new date-time system based on the Vedic date-time system to the data science community, providing a valuable tool for those interested in understanding and working with this ancient system.

The VedicDateTime package can convert the Gregorian date time to the lunisolar Vedic date time, allowing users to easily switch between the two systems. This feature is particularly useful for those working with time series data, as it enables them to analyze and interpret the data in a new and different way.

The package was developed with a focus on usability, accuracy, and reliability. It includes a range of functions and methods that are intuitive and easy to use, ensuring that even those without prior knowledge of the Vedic date-time system can quickly get started with using the package. Once the development of the package was completed, it was published to CRAN (Comprehensive R Archive Network), which is a widely used platform for distributing R packages.

This made it easily accessible to a large number of users and helped to ensure that it would be widely adopted by the R community.

The GSoC experience strengthened my belief in Open Source.

#4 Learning by doing is super efficient.

I learned HTML, CSS, and Javascript during my school days and built some basic static web pages. In the other half of 2022, my interest in web development grew. I learned Node.js, express, and Angular. I realized what I was missing out on these days. These JS frameworks help build stuff better. I with my batchmates at my college built a web application for my college that cut the manual work that was done for the analysis of students' marks. I learned to collaborate and manage to integrate the modules that were built using Angular. The web application our team had built was something I was truly proud of.

Looking forward to learning a hell lot in 2023. See you all soon.