Did you know that you can navigate the posts by swiping left and right?

GSoC [03]: Building The Base


25 Jun 2018 . 3 mins : experience . Comments
#GSoC #Nephos #Python #Testing

It’s been two weeks since the start of the first coding period, and so far it has been a relaxing experience. The most crucial parts of project Nephos have been finished, with lots of learning involved in between.


The coding period started with a steep learning curve; I was required to understand the existing work on Nephos. It is, by far, the most difficult and complex source codes I’ve faced; comprising of a myriad of technologies, incorporating various dependencies and functionalities.

Everything was new to me; database handling, using a scheduler to execute parts of the code, use of logger to streamline information flow to the user panel and precise error handling. Initially, the flow of information was overwhelming and I had the feeling that I would not be able to live up to the expectation of my mentors.

I started swiftly on the learning part, often spending more than 10 hours skimming through article after article to get even an idea about some concept. It was only after toiling for four days, I started with the coding for my project.

As trivial as it may sound, writing the first few lines is the hardest part; it’s always tough to know where to start from. Once that was done, I divided half of my day into working and half into learning technologies I was going to use next.

I completely revamped the recorder for Nephos, mostly copying gist of the functions from the previous module and coding them afresh with extensive documentation. Two types of documentation have been prepared and completed for the phase; in-code developer’s documentation and user documentation.

I Realised Why Writing Good Code Is Hard

Through the documentation process, and the entirety of the past two weeks, I got my answer to the above question. It was always a strife between the fast me and the patient me; I wanted to finish code fast but at times I was “supposed” to have more lines in the documentation than in the actual code. It was surely not the most exciting part of my project. Nevertheless, I don’t want anyone else to go through the pain of understanding a meagerly documented program, as I had to go.


Considering the fact that this is my first time at working something professional, I’ve tried extensively to maintain standards across code, documentation, and will be following the same while writing tests.

Fortunately, despite my early skepticism, most of the work for the phase was completed within 1.5 weeks of the commencement of the period. Since then, I’ve been reading documents for the next phase, finishing the remaining work for the phase and eagerly waiting for the evaluation period.

Give me a day to work, and I’ll spend 20 hours learning!


Me

I'm intrigued by human psychology and code backend for videogames. I live with a philosophy to be simple, true, and kind always. I enjoy taking days slowly and writing when I learn something new - ah! that reminds me, I enjoy learning from new experiences a lot.