Muhammad Talha Paracha bio photo

Muhammad Talha Paracha

Science and philosophy enthusiast.

Email Twitter LinkedIn

The past few weeks have been quite amazing for me. Getting accepted for GSoC indeed felt like a dream come true, and the feeling has still not gone. But the best part was interacting with dozens of like-minded students from all around the world. Around 1000+ students got accepted for GSoC and it feels really great to be part of a community so talented and diverse.

My acceptance marked the start of “Community Bonding period” which in GSoC’s terminology is a month for students to get acquainted with their mentors, explore the codebase of their organization and review the project’s timeline so they can kick off coding when the “Coding period” starts.

I remained in touch with both my mentors Adam Bergstein (@nerdstein) and Colan Schwartz (@colan) via weekly Skype video chats. In the first check-in meeting we agreed to:

  • Do all development in Github until an alpha version of the module is ready. Then we’ll shift the project to So I’m required to fork the project, clone it to my machine, make any edits and push them to my fork. Then I’ll create pull requests which my mentors will review and merge accordingly. Here is the link to it if anyone is interested in the updates: PubKey-Encrypt. We’ve decided to make the first commit during the first check-in meeting in the Coding period, so to officially kick-off the project.
  • Use Vagrant VM so to keep the running environment same across all team members.
  • Start with an architecture document of the module. Once the architecture is documented, fully understood & agreed-upon by all members, then begin coding.

In later check-in meetings, we only discussed the things I’ve been up to for that week and any queries that I had. Because of my busy university schedule, I asked my mentors if we can afford to move the work on architecture document after the Community bonding period. They completely realized my situation and agreed to it.

The timeline I wrote in my proposal was detailed enough that I did not feel the need to make any major modifications in it. It clearly enlists all the tasks I have to do to complete the project and the sequence in which I’d need to do them.

So the major part of my time was spent in getting familiar with module development in Drupal 8. Luckily, all accepted students for Drupal got access to the premium video tutorials on As I had planned earlier, I made a good use of the website and watched all these series:

  • Module Development Essentials for Drupal 8
  • Configuration Management for Drupal 8
  • Dependency Injection & Art of Services and Containers
  • Drupal Coding Standards
  • PhpStorm IDE
  • Semantic Versioning
  • Introduction to YAML

So I’ve covered all the relevant videos from Though I haven’t done any OOP programming in PHP, but I’ve taken a semester course for OOP in C++ so I did not feel the need to watch those videos. Also, doesn’t has any good video series on the D8 Plugin API so I explored it via other sources. Now I’m ready to dive into hard-core coding. And this marks the end of Community Bonding period.

Lastly I’d just mention again that because of my ongoing semester, I couldn’t do much during the Community Bonding period as compared to the other students. This has now made me really sad. I have still covered the things that I listed in my proposal, and my mentors are happy too with the progress I’ve made. So from tomorrow onwards, I plan to work full 8 hours/weekday on the GSoC project since that was the commitment I made in my proposal. This would obviously prove to be a bit challenging for the next two weeks, but who doesn’t like challenges =D Though now I have one more excuse not to study for the finals ;)

Looking forward to a great time ahead!