GUADEC 2019 After a month of planning, reading about Greece and watching past GUADEC videos, finally 22nd August, 2019 had come. It was my first trip out of India, and that too all alone. I had early morning flight, so I left for the airport at around 7 pm and waited there for my friend, who is also a GSoC intern with GNOME Music, and studies in the same city as me. We boarded the flight to Abu Dhabi, they upgraded my seat to business class, it was my first international flight and it felt so happy. We landed in Thessaloniki, and quickly rushed to the interns dinner, where I met my GSoC mentors, Felipe Borges and Fabiano Fidencio, and we discussed about our project and GSoC. I shared my dorm with an outreachy intern and we discussed about the work she was doing. Next day we had our lightening talks, so we quickly prepared our slides and got it reviewed by our mentors. I also got to know about the awesome work all my fellow GSoC interns were doing. 
  GSoC 2019: New Learnings 1. V irtual methods can be overridden in derived classes, while abstract methods must be overridden.    2. A class that has atleast one abstract method must be an abstract class.    3. We can't create instances of abstract classes. 4. GObject subclasses are any classes derived directly or indirectly from GLib.Object. They support a lot of features like signals, managed properties, interfaces and complex construction methods.( reference ). About git Soft reset: this feature allows to remove the commits but keeps the changes made in files saved whereas hard reset removes the saved changes from file also. When we create a merge request by comparing two branches, the commits included in the MR get updated every time we update either of the branch, if we update the branch that we used to compare our new branch, the new commits included in that branch will not be included in the MR.
  Google Summer of Code 2019 Update I didn't publish after the third week, was saving drafts and had planned to publish it once was successful in achieving the main goal of the project. But after discussing with my mentor, I've realised it's better to have regular updates. I will now keep posting blogs every alternate day, if not everyday. Achievements so far : In the last post I mentioned that I have created a page that lists all the Operating Systems that haven't yet reached their end of lifecycle, this was basically similar to the page that would come up when we press the show more button in Download an OS option. Now the challenge was to remove the Operating Systems that do not support tree based installations from this list. I initially tried keeping only the Operating Systems that were returning true for tree.hastreeinfo()  but when I tried printing the kernel and initrd path for them, some returned null. While my mentor suggested an approach to re
Google Summer of Code 2019: Week 1 and 2 I got selected as a Google Summer of Code 2019 student with GNOME. It has been almost two weeks since the coding period started and I've been working with two awesome mentors Fabiano Fidencio and Felipe Borges. Currently GNOME Boxes is able to do either express-installations on a downloaded ISO or to download an ISO and offer the option to express-install it. My project aims to add the support for express-installations using the OSes’ network trees. This would reduce the download size and mainly benefit the users with not so good internet connection. I first tried few express-installations(unattended installations) on boxes from a downloaded media and compared the command line generated with that of the one generated in virt-install while installing a virtual machine from the network. I've added a button  "Install from a tree" in boxes, on clicking it goes to a new window which lists all the operating systems th
Disabling nouveau driver in Fedora Ever since I dual booted my system with Fedora 29 along Windows 10, Fedora would freeze just after few seconds after booting, after hours of googling, I've found out the solution to my problem is to disable nouveau driver for Fedora, I followed the method 3 in the video first to disable it temporarily and then disabled it permanently using the method 2:
Contributing to GNOME Boxes GNOME Boxes     is used to view, access, and manage remote and virtual machines. Currently it is able to do either express-installations on a downloaded ISO or to download an ISO and offer the option to express-install it. I stumbled upon the project ‘Improve GNOME Boxes express-installations by adding support to tree-based installations’, it required the knowledge of Object Oriented programming and I had done this course last semester only and had a project for the course. Even though I had used Java primarily for the project, it didn’t take me long to understand Vala. I quickly jumped into the irc channel of GNOME Boxes, introduced myself to the mentors(one of them being  Felipe Borges ), got the source code and built it. Initially it took me some time to understand how things were working but the mentors were patient enough to even answer my dumbest queries. I then started working on a few bugs, they helped me understand the front-end part of th