Articles on risehr's Bloghttps://blogs.python-gsoc.orgUpdates on different articles published on risehr's BlogenMon, 23 Aug 2021 20:26:55 +0000Week 10 : Term Finalehttps://blogs.python-gsoc.org/en/risehrs-blog/week-10-term-finale/Hey there, guys! Hope you all are doing well.<br> <br> Finally, the day has come which can be technically termed as the final week of the Google Summer of Code 2021. It was just in a flash when I had written the zeroth blog and this is the eleventh, that I am writing now. So many things have come up, so many things have been handled and so many things are there that I have learnt. But one thing is for sure, that I am going to cherish this time all along my life. GSoC has been like a true experience for me! The people that I interacted with, the amazing mentors that I have and the one-of-its-type journey that I went through, was superb.<br> <br> <h2>What did I do this week?</h2> This week I ran the last mile like the fastest runner, as it seems. There were a lot of things that I did which I never imagined I can do in a week. <br> <br> The first being that I had written the descriptions in .txt files for each of the tutorial that was made, explaining what is happening in the tutorial and the purpose of the tutorial giving the user a comprehensive idea of what the particular feature that the tutorial denoted was all about. The text files were written in English.<br> <br> Next, I created the audio module which helped in the automatic generation of audio files from that text. It could be used to translate the text to any major available language (the languages that the translation API supports) from English. Next, the translated text can be converted to speech using text-to-speech APIs. Also, the user has an option of changing an API according to his/her choice and liking.<br> <br> Finally, I created the tutorials.rst file for filing all the documentations and making an user manual of how to use or develop the tutorial features in MSS.<br> <br> I fixed the bugs in some files and ameliorated the typos in some files.<br> <br> Also, I submitted my final evaluation with a link to my work that has been done during the period.<br> <br> <h2>What is coming up next?</h2> Nothing much, I guess. This is the end of the coding period and all the code submissions have been done. Next, there is mentor evaluations and result declaration. <br> <h2>End Note and Acknowledgements</h2> The GSoC period has been almost over and all the submissions already done. I have completed almost all the goals outlined originally in my proposal but some minor things have been left out to do like mixing of the generated audios into the tutorial videos, linking the tutorials in the main UI by uploading to Youtube and by changing the main MSUI UI for the same. Sometimes, there are time constraints for certain things but I am a happy that I had developed the tutorials to a much major extent and that it can be used by people. <br><br> There are many valuable learnings and and an uncountable number of assets that got added up to my skill sets due to this accomplished journey. I am very much thankful to my mentors Reimar Bauer, May Bär, Jörn Ungermann, Tanish Grover, and Christian Rolf for their extended support and guidance. I would always love to work with them post GSoC and continue to improve the tutorials features of MSS.<br> <br> You can find more about my work at this <a href="https://github.com/Open-MSS/MSS/wiki/Generating-a-tool-chain-tutorial-for-the-MSUI-user-interface-by-automation-operations-:-GSoC---2021"> Github Wiki</a> and you can see the automated tutorials that have been generated on a public share, <a href="https://fz-juelich.sciebo.de/s/IzNGi24Ki68iV7t"> here </a> !<br> <br> You can also see the documentation right at this <a href="https://github.com/Open-MSS/MSS/blob/GSOC2021-HrithikKumarVerma/docs/tutorials.rst"> place </a> !<br> <br><br><br> Thankyou everyone for staying together, all this while!vermahrithik812@gmail.com (risehr)Mon, 23 Aug 2021 20:26:55 +0000https://blogs.python-gsoc.org/en/risehrs-blog/week-10-term-finale/Week 9 : Wrapping Uphttps://blogs.python-gsoc.org/en/risehrs-blog/week-9-wrapping-up/Hi there folks! This is basically the last week of the GSoC 2021 programme and things have been going through the needed pace. This week, I have to update the final documentation of the code and submit my work by the end of the next week. <br> <h2>What did I do this week?</h2> This week I completed the mscolab tutorial and made some patches in the code for the previously generated tutorials as suggested by the mentors. I have written the text files for some of the tutorials which will be finally merged with the video. <br> <h2>What is coming up next?</h2> The upcoming week is the last week to submit my code and update the documentation. I will do that. Moreover, the last part of translating text into audio will be done and merged with the automated tutorials. <br> <h2>Did I get stuck anywhere?</h2> This week, when fixing bugs and adding patches, I came across some hurdles such as programming errors and various doubts in some programming concepts which I researched on stackoverflow and other websites and resolved them eventually.vermahrithik812@gmail.com (risehr)Mon, 16 Aug 2021 21:26:40 +0000https://blogs.python-gsoc.org/en/risehrs-blog/week-9-wrapping-up/Week 8: Approaching the Finish Linehttps://blogs.python-gsoc.org/en/risehrs-blog/week-8-approaching-the-finish-line/Hi there :)<br> Hope you all are doing well. While writing this blog, the finishing line has become apparently closer. But this wasn't a race for me at all for the races are a part of fast paces and I was walking down the lane steadily grasping a bundle of technical details and hence learning and growing from them. There is a lot to cherish, before and after, but the end has not arrived yet. There are a wholesome of hurdles to cross and a bucket of milestones to finish before reaching the final border. So, I want to be there in unison with the flow and get the things done as efficiently as I can. <br> <h2>What did I do this week?</h2> I have automated the KML overlay tutorial of the topview this week. KML or Keyhole Markup Language is an XML based file for denoting geographical context. It overlays on top of the maps in topview and helps significantly in flight planning. In addition to that, I have also worked on the performance settings of table view creating it's automated tutorial. I have also tried to complete the mscolab tutorial but some parts are remaining in that section that needs to be completed. <br> <h2>What is coming up next?</h2> Next, I am planning to create the text files which would be translated into speech that eventually would be embedded into the generated tutorial videos as their audio. It needs various technical details about what's being demonstrated in the videos to give the users a clear idea of how things are being performed in there. <br> <h2>Did I get stuck anywhere?</h2> The current or dynamic position of the mouse pointer has been found by pyautogui. position() for the Screen Recorder class. It returns a tuple with x, y coordinates of the mouse pointer. But there was this error in Linux systems related with X11 display which made this function to throw a run-time error which was hard to decode. I discussed with my mentors and they helped me with a solution. It was to use a different kind of mouse highlighter that worked in all the systems.vermahrithik812@gmail.com (risehr)Mon, 09 Aug 2021 19:49:02 +0000https://blogs.python-gsoc.org/en/risehrs-blog/week-8-approaching-the-finish-line/Week 7: Checking In..https://blogs.python-gsoc.org/en/risehrs-blog/week-7-checking-in/Hi there :) The period is gradually turning towards it's end. All the things need to be wrapped up as quickly as possible. This week there was a change in plan. Instead of the mscolab tutorial, I worked on other remaining sections of MSS such as Remote Sensing, Satellite Track Prediction, Hexagon Control, etc. All the things required and needed to be planned for mscolab has already been done. The tutorial has been waiting the 5.0 release of MSS which would make Mscolab to the forefront of MSS, and then the tutorial can be started. <br> <h2>What did I do this week?</h2> This week I automated the tutorials which demonstrated Remote Sensing, Satellite Track Prediction and Hexagon Control. I demonstrated how remote sensing is used to measure the solar and other planetary bodies' angle such as Moon and Venus from the azimuth direction and considering the angle of elevation of the flight. This is very useful in flight planning. Satellite Track Prediction as the name suggests predicts where and at what time a satellite of concern would cross from the available prediction data. This in turn helps flights to a greater extent in their decision of where to fly and how. Hexagon Control is the making of a hexagon with waypoints as it's vertices with radius, centre waypoint and first angle of the hexagon as input. These were the small things but important features which are needed to be described to the user briefly. <br> <h2>What is coming up next?</h2> Next, I am planning to start the mscolab tutorial and along with that work on the post processing of the generated tutorials. <br> <h2>Did I get stuck anywhere?</h2> The platform dependency in my code for different platforms such as Windows, Linux and Mac needs to be modularized and made better. I am figuring out ways in which the code could be made more efficient regarding it's platform dependency.vermahrithik812@gmail.com (risehr)Mon, 02 Aug 2021 21:11:59 +0000https://blogs.python-gsoc.org/en/risehrs-blog/week-7-checking-in/Week 6 : Checking Inhttps://blogs.python-gsoc.org/en/risehrs-blog/week-6-checking-in/Hi there :) This week seemed quite longer than it was. These are the times when the last of the but major tutorials are left to be automated. <br> <h2>What did I do this week? </h2> This week I was working upon "views tutorial" or more sophistically said as how to create a project in Mission Support System. It included all the views present in MSS such as planning flighttrack in topview and as the name suggests we can see from the top as a sky view. Next comes the side view which enables us to adjust the height of the flights according to pressure levels and pressure altitude. After that the table view which provides a detailed creation of flight path with precise latitudes,longitudes, names of places, etc with comments alongside. After that the linear view which helps us to scrutinize the flight path and plan it with a linear perspective. <br> <h2>What is coming up next?</h2> Next week I am planning to set my hands to code the most important aspect of MSS - mscolab or Mission Support System Collaboration. This enables users to work remotely with different people on the same or different parts of a project. It has many features and most of the users are not aware or are not comfortable in the knowledge of its use. Hence, I am planning to make a comprehensive and simple automated tutorial on mscolab. <br> <h2>Did I get stuck anywhere?</h2> For this week, there was not a sort of thing that became a hurdle of my way. But it was quite longer than expected to make the tutorials on all the views together.vermahrithik812@gmail.com (risehr)Mon, 26 Jul 2021 21:35:53 +0000https://blogs.python-gsoc.org/en/risehrs-blog/week-6-checking-in/First Evaluationshttps://blogs.python-gsoc.org/en/risehrs-blog/first-evaluations/Hello everyone! Hope you all are doing good. <br>The feeling of achieving something is always great and surreal. The evaluations always seemed to me as a mixture of facts and fantasy. I was living the facts like working towards achieving my goal, striving towards completing what's defined within the timeline, etc. But there always has been an imagination as to what would happen during the evaluations. And I am glad that I have passed my first evaluations successfully. <br> <h2>What did I do this week? </h2> In this week, it was supposed to fill out the evaluations of one another(student and the mentors.) Google has given us a time of five days during which the mentors evaluated the works of their students and the students gave feedback about the program and the mentors. So, I had also done my share of filling out the first evaluations. In addition to that, I have discussed with the mentors in my weekly meeting how to proceed with the next set of tutorials. We are planning to demonstrate to the user how to create a project in MSS which would apparently include a demonstration of all the views like the horizontal, vertical, linear and table views. I have started coding the automations for this "views tutorials". <br> <h2>What is coming up next? </h2> I will be working on the "views tutorials" and would try to complete automating the demonstration of how to create a project and along that line would also touch the explanation of all the functional paraphernalia associated with it. I will try to complete the whole tutorial by the coming week. <br> <h2>Did I get stuck anywhere? </h2> Anything major didn't come up on my way but I would like to discuss about one thing that I feel worth sharing. In PyAutoGui, the keyboard keys and all the strokes work for the US keyboard layout only and for other keyboard layouts like the German keyboard, the same wouldn't work. So, one has to change his/her keyboard layout to US style keyboard.vermahrithik812@gmail.com (risehr)Mon, 19 Jul 2021 21:36:40 +0000https://blogs.python-gsoc.org/en/risehrs-blog/first-evaluations/Week 5 : Speeding uphttps://blogs.python-gsoc.org/en/risehrs-blog/week-5-speeding-up/Hello folks! The past weeks have been quite amazing when it comes to learning exciting and new things which are just fabulous in terms of innovative use and technology implemented in software development. As the scrutinization of the first evaluation rounds are approaching, things need to be wrapped up quickly as they were planned to be done before this evaluation. <br> <h2>What did I do this week? </h2> This week I tried to finish the "web map service" automation for the tutorials. Along with that, a major issue that was arisen regarding the display of the mouse pointer in the recorded videos was resolved. Actually, earlier the screen grabbing modules used to take screenshots were not capturing the mouse pointer on the screen as the convention. The implementation of the PyVirtualDisplay was half done and shifted for later work as decided with the mentors. <br> <h2>What is coming up next? </h2> Next, there is going to be the first round of evaluations about the work done until now. Moreover, I will discuss with the mentors about the next set of tutorials that need to be created based on the use case scenarios' priority. <br> <h2>Did I get stuck anywhere? </h2> Most of the modules that provide functionality to take screenshots of the screen does not provide with an option to capture the mouse pointer. There are much less resources regarding that on the internet. Somehow, I got some ideas about how to implement that on Linux and managed implementing it on other platforms.vermahrithik812@gmail.com (risehr)Mon, 12 Jul 2021 18:29:39 +0000https://blogs.python-gsoc.org/en/risehrs-blog/week-5-speeding-up/Week 4 : Improvements.https://blogs.python-gsoc.org/en/risehrs-blog/week-4-improvements/Hi there everyone :) Whether you create or develop something, there is always a scope for improvements and changes. From time to time you have to introspect in the code making it better and obviously, the mentors' suggestions are always a cherry on the top. <br> <h2>What did I do this week?</h2> This week I have started exploring the 'Web Map Service' section more closely and with details. We were planning to include it next in the automated tutorials. But before that, the memory occupancy of the generated videos has to be scrutinized and reduced as they were bigger in sizes since some people have really 4K and 8K screens while recording. So, I was exploring how to restrict the recording region. Moreover, I was exploring and working to implement PyVirtualDisplay along with automating the WMS tutorials to make the user experience better PyVirtualDisplay creates a virtual display for the user. <br> <h2>What is coming up next?</h2> The next work is around implementing the PyVirtualDisplay module in the existing tutorials and also finishing the web map service tutorial automation. <br> <h2>Did I get stuck anywhere?</h2> The locateOnScreen function of PyAutoGui was a bit of trouble in the progress since a little change in the pixels prompted it not to locate the image. But I uncovered various parameters it uses such as confidence, grayscale, etc. which helps in increasing or decreasing the accuracy with which it locates the image.vermahrithik812@gmail.com (risehr)Mon, 05 Jul 2021 18:29:05 +0000https://blogs.python-gsoc.org/en/risehrs-blog/week-4-improvements/Week 3 : Completing the tutorialhttps://blogs.python-gsoc.org/en/risehrs-blog/week-3-completing-the-tutorial/Hi there everyone :) This week has been a tough time for me since I was not in my good health. I fell sick and was not in a condition to work. But somehow, I managed to look onto some relevant topics to be continued in the next week. <br> <h2>What did I do this week?</h2> This week I finished the "waypoints" demonstration tutorial. I automated what was left behind. The screen recorder functionality of this project went through some changes as suggested by the mentors. The recorded video is now not too fast when played since there is now no time gap between the frame capture time of the screen and the processing time of the system. <br> <h2>What is coming up next?</h2> I am going to automate and record the next set of tutorials based on use case scenarios. <br> <h2>Did I get stuck anywhere?</h2> The mouse utility features in PyAutoGui module held me for a while regarding how to use it but gradually with a deeper understanding of the module, I got better at it.vermahrithik812@gmail.com (risehr)Tue, 29 Jun 2021 07:41:29 +0000https://blogs.python-gsoc.org/en/risehrs-blog/week-3-completing-the-tutorial/Week 2 : Experimentation And Experiences!https://blogs.python-gsoc.org/en/risehrs-blog/week-2-experimentation-and-experiences/We learn from our experiences and that is only achieved through a wide variety of experiments. And I tried more subtle approaches for a variety of problems. Some things were not understandable at that present moment but things seemingly felt easier on the go. <br> <h2>What did I do this week?</h2> I tested the development work on different systems. It worked fine. I even implemented different FPS speeds and saw which one worked better. I finally, took the system, time and processing power compatible FPS dependent on the system and then used that FPS for processing of the video files. <br> <h2>What is coming up next? </h2> One tutorial video has been almost automated. Next I am planning to wrap it up as soon as possible and jump to the automation of the next tutorial video, after discussing with the mentors. <br> <h2>Did I get stuck anywhere?</h2> I was having problems with process termination in multiprocessing because forceful termination resulted in execution of incomplete code. Hence, I devised ways in which the multiple processes could have a smooth and successful completion.vermahrithik812@gmail.com (risehr)Tue, 22 Jun 2021 07:14:12 +0000https://blogs.python-gsoc.org/en/risehrs-blog/week-2-experimentation-and-experiences/Week 1 : The motion builds...https://blogs.python-gsoc.org/en/risehrs-blog/week-1-the-motion-builds/Hey there, everyone! The first week has been over and hence the momentum to code has been started to build up. And so is the excitement. This threshold week taught me about the various requisites needed for the smooth execution of the project work. I plunged into using different tools and tried them out for this week's planned work. It was quite of a journey to just start out and I am happy I even experienced some mistakes that taught me something and made me more capable, eventually. <br><br> <h2>What did I do this week?</h2> <br> Basically speaking, I made a simple screen recorder using opencv and numpy along with different more modules for recording my automated scripts. It was completely a new part added to the codebase. Along with that I was working in parallel to make my first automated tutorial script ("How to activate a flight track and deal with waypoints. ") which is still to be completed. <br><br> <h2>What is coming up next?</h2> <br> I will be assessing the screen recorder based upon it's performance in recording the automated scripts and making changes to it wherever needed. I will experiment with different FPS, codecs and other such parameters while writing the videos. I will also test it on other operating systems to make it cross-platform and even more better. <br><br> <h2>Did I get stuck anywhere?</h2> <br> Yeah, I faced a lot of problems understanding the different codecs, frame rate, screen refresh rates and other important parameters in video writing with opencv. But with opencv's documentation and online help, I found my way out through it. Moreover, the regular weekly meet-ups with mentors provide a great help in clarifying the doubts and instill within me a sense of confidence of doing the things.vermahrithik812@gmail.com (risehr)Mon, 14 Jun 2021 20:52:28 +0000https://blogs.python-gsoc.org/en/risehrs-blog/week-1-the-motion-builds/Testing my bloghttps://blogs.python-gsoc.org/en/risehrs-blog/testing-my-blog/<b> Can you please help me. Thankyou!! ;)</b>vermahrithik812@gmail.com (risehr)Wed, 09 Jun 2021 15:41:29 +0000https://blogs.python-gsoc.org/en/risehrs-blog/testing-my-blog/Week 0 : Checking in...https://blogs.python-gsoc.org/en/risehrs-blog/week-0-checking-in-1/Hello everyone! I am Hrithik Kumar Verma and this is my first ever blog post for the python-gsoc community during this period. I will be contributing to Mission Support System during GSoC'21 and the title of my project is "Generating a tool chain tutorial for the MSUI user interface by automation operations." Since the community bonding period has been just over, I wanted to thank all my mentors and the MSS team altogether for providing such a supportive and an exciting peer-learning environment. Right from solving my silly doubts to discussing major talks around the project workflow, they have guided me as well as supported my opinions. It was a happy time learning a lot more about the codebase and interacting with the team members and my GSoC mate. <br><br> Talking about my project, it involves 3 major tasks. The first being the implementation of python scripts for the automation of the tutorials. The second being the recording of the scripts. And the third workaround involves the post processing of the auto-generated videos. I will be currently working on the generation of python scripts for automation. <br><br> <br><br> <h2>What did I do this week?</h2> <br> This week I mainly wrote a few lines of code for practice purpose needed in my future work. I have to go through a lot of topics required for the automation part such as exploring the PyAutoGui module and the Pytest module deeply. Apart from these things, I have worked on developing a feature for the MSS software which dealt in changing the font sizes of the labels title, plot title and tick labels used in all the views (Top View, Side View, Linear View) implemented within the software. It's already merged in the development branch of Open-MSS. <br><br> <br><br> <h2>What is coming up next?</h2> <br> Next, I am all set to start the coding officially. I will start, initially, by writing down the scripts for automating the demonstration of "How to activate a Flight track and deal with waypoints" using the PyAutoGui module. <br><br> <br><br> <h2>Did I get stuck anywhere?</h2> <br> Many parts of my code require multiprocessing to be implemented in the codebase. In Linux systems fork() is used as default and in Windows there is this spawn() method. I was exploring the differences between both the methods and figuring out ways to implement it in such a way that the code could work in all the platforms conveniently and with ease. During the process, I was stuck in many places, but with a bit of research and with the help from the mentors, I was able to solve it.vermahrithik812@gmail.com (risehr)Mon, 07 Jun 2021 20:59:36 +0000https://blogs.python-gsoc.org/en/risehrs-blog/week-0-checking-in-1/