Friday, December 6, 2019

Release 0.4

Internal PR

Issue #1

It was difficult to find a good PR to work on, but found a good one to work with: https://github.com/Seneca-CDOT/telescope/issues/467

Thought this would be a quick fix, but it was a bit harder than I thought, the padding for bullet point and numbered list was all off, If the padding for whole site was taken out, it seemed to go back into the wrapper, but that was a good fix, it had to have some other issue.

Checked the main.css file and started debugging every property working on the post-content. It wasn't making any sense, then noticed, the ul and ol tags were not handled separately like others in CSS, so once I figured the right pixel to push to the right, I added the necessary changed and requested for PR: https://github.com/Seneca-CDOT/telescope/pull/477


Release 0.4


External PR

This was a very exciting project for me, it is a simple game that needs a lot of features and bug fixes to work on.  Since 0.4 required fixes more than what we did for 0.2, I decided to work on many features at once.

First Issue

While running the game I noticed all the label in the game was off or miscolored for the background 


It took some time to understand and read the code as there were no comments on any files. It took some time to fix it but once I understood the codes, it was easy to fix all the missing texts in the labels and changed colors accordingly.



Second Issue

I see that there is a lives feature to the game but unfortunately, it wasn't completed. I took some time to understand the method of this feature and tried to debug why it wasn't implemented well. IT took some time but it was easy to understand how he used a global life counter in the StartUp file and it was used to count life remaining. 

The method works such that for every key pressed, we would see if the letter is equal to the one displayed on the game and if it is not we can reduce life by 1. The life was represented as a heart on the bottom corner but it was never displayed as it was never checking for the right statement. 



Upon fixing this issue, this feature made and huge difference in the game. 


Third Issue

Once the life feature was updated, I decided to add an extra feature for the game, scores. Every game has to have a scoring system, If the game goes online, it would be more interesting to have scores to compete. I used the same technique as the author of the game to make sure it doesn't confuse other developers while contributing. Created a label to show the score at the end of each game and handled all the methods required for this feature.



So when the player answers correctly, they will be rewarded with a point and if they answer incorrectly, they would lose a point and a life. If they fail a level, they would see their score and the score will be reset to 0.

PR

Once these features were completed, I tested for a few situations and tweaked it, even more, to run smoothly. 









Friday, November 22, 2019

Week 3 - release 0.3


I am feeling much better this week, but the pressure is on, I have been trying to contribute to Telescope project but always get a second late as someone else take the issue to work with.

Feeling really frustrating as I get an issue, update my fork come back to comment and finding that someone else is working on the issue. But I am still hopeful to start working on the trending page or the liking capability for posts. 

Starting a new hunt for a new external issue to work with, this time I just wanna play it safe and work with something I can easily install and work with. I don't mind if it's difficult but I just want it to build on my local device. Hopefully, I might find something soon to work with as release .4 is going to start next week.

Week2 - release 0.3


This week was not a good week for me, I had a viral fever and was unable to attend class for this week. But I was still in the hunt for an external and internal issue to work with. I came across a repo for GarageBot, it is an interesting project which uses .NET, Blazer server and Docker. 

I have never really worked with C# or Docker so, I thought it would be a good challenging project for me to work for release 0.3

I took up an issue: https://github.com/devsgarage/GarageBot/issues/23 , and decided to work on this. But I came across many problems as I was unable to build the project or make it run in any manner. But I sat down and researched the topics and was able to fix the issue.

It was very different to work with C# but it was nice to work on a .NET project again.

Friday, November 8, 2019

Hunting for Projects

Release 0.3

Release 0.2 was not so great for me, it was hard for me to find a good project to work with. But I have my hope up and continue to find a bigger issue to work with for release 0.3. I am instructed to find a bigger problem than "good first issue", I have 3 weeks to find and fix the issue. This will be fun and hard as I would be able to find something really interesting to work with and also suffer from finding a good issue that I can work with.

Also with finding an external project to work with, I would also be able to collaborate with updating the Seneca-CDOT, Telescope project. This would be really interesting as all 60 students are working together for the project.

Issues for Internal Project


It was not that difficult to find an issue for the project but to find a very good issue for the project was tuff. Everyone suggested good ways to implement the project and I tried to find a bug that I thought would help the project in the future.

Issue #1 -  https://github.com/Seneca-CDOT/telescope/issues/70


From my previous co-op position, I was asked to clean up the code as it had many vulnerabilities when compiled. The other developers used dependencies or modules which they later discarded but forgot to take it off the project. This let to a cluster of unwanted modules to the project and since I had to clean the project, I took me time to look through the project and ask people to understand if that module was used or not. So to avoid such a cluster of unused modules, I thought it would be nice to introduce .md file which would track all the modules being used and track and remove them if they are not required anymore.

Issue #2 - https://github.com/Seneca-CDOT/telescope/issues/110


As seen in other websites (like 9GAG), it would be nice to introduce tags and sections for posts. It will help the reader to find unique and post related to particular subjects and make it a very interesting user interface. As I was looking for issues to work with, I came across an issue to introduce liking features for a post, this feature will help us to classify posts to sections like Trending, Most Viewed, Most Liked, etc.

Finally, I am still in the hunt for an external project to work with, I hope I find one soon so I can start working on it but as for working with Internal project, it looks like we are going to have a lot of fun

Thursday, October 31, 2019

First PR


It was kinda hard for me to find a good first issue to work with, most of the time when I found an issue, I would face some kind of problems with installing or running the code on my laptop.

But I able to find one java game application called SpeedTyping. This application was small and I was able to run the application on Eclipse. I contacted the owner and I started off with the easiest issue. which was to add more background images to the levels in the game.

I went ahead and searched for imaged which were free to use, had to make sure they don't have any restriction for reuse. Once I was done adding the images, compiled the code, it had no issues. Once I was happy with the result, I requested a PR and the owner responded immediately and merged my files.

This was a nice experience as it was my first contribution to another GitHub repo.

Friday, September 27, 2019

Hacktoberfest 

Hacktoberfest is here !!! I will be participating in it as a part of the open-source course. I think it's going to be an amazing opportunity for me and others to learn and contribute to all the available open-source projects. I am really excited to start this challenge and learn.

As per the requirement for my course, I have to select two or more personal goals and try to achieve it by participation in this global event. I am very excited about these goals, as it will help me to learn and understand new languages, interact and contribute with other open-source projects.

React and angular were one of my goals to learn when I get time, I think this will be a great time to understand and try to solve issues. The first issue I found was in Angular, I have worked with vue.js and always wanted to learn angular as well. issue#1, this is a simple start, adding a feature to add/remove projects from the UI. I think it will be a great start for me to start with angular, and hopefully, I will be able to solve this issue.

For my second goal, I wanted to work with a project which seemed interesting. As I was going through the projects, I came across Terrastories.Terrastories is a geostorytelling application built to enable local communities to locate and map their own oral storytelling traditions about places of significant meaning or value to them.(https://github.com/Terrastories/terrastories). I think helping them by solving at least a few issues would be great, as this app seems really great for storytelling about their culture and heritage.

To do all these goals, I will need to research a lot and understand every aspect of the code and help to fix the issue. One of the hardest parts would be to duplicate these bugs, so I will need to understand the bug very well so that I will be able to fix them.

In conclusion, i think Hacktoberfest is going to help a lot in understanding how to contribute to other project and hopefully be able to meet amazing teams to work with.



Monday, September 23, 2019

DPS909 Fall 2019 - Release 0.1 


About release 0.1


This project was created to make us understand how to understand and read other's codes successfully and to work with GitHub to understand how to create branches, forking, and others methods to contribute to another repository.

Learning Outcomes


We were asked to create a notepad application for the last week's activity, once we all finished submitting and hosting our web app, release 0.1 was basically to go through each and everyone's code to read and better understand how they implemented the activity. 

This was quite interesting as everyone had their own way of designing it a bit differently and our 2 tasks were to : 
  1. Find a bug which is not design related but rather to fix or improve something in the existing code.
  2. The second was to add a new feature to any of the repositories.

My release 0.1


Bug Fix


I began to hunt for bug fixes which were not already being fixed by others, and it was really difficult to find an error as almost everyone implemented it well. Some issues were popping up due to Github hosts and others were occurring due to other javascript modules that they have used. I found one in particular which was giving a type error in the console of the browser. 

So, before we code or clone the project, we were asked to issue a bug report to their repositories and then fork they application. Once we successfully have done that, we create a different branch with the same number of the issue report number. Then I was able to clone the repo to the local machine and I was able to produce a fix for the issue. Once the fix is running fine, I began committing the code issued a pull request to merge with code.

New feature 


For my second task, I was asked to add a new feature for one of the repositories. I was also giving a list of useful features list, which can be added to the notes app in the second week's activity. Using this list, I was able to code a counter function for one of the application as a new feature.

Just like the first time I was able to create an issue, forks the repo, clone it to my computer, created a new branch, committed the new codes and created a pull request.

Conclusion 


Github really helps you in contributing to other projects without interfering with their correct work, it is in some ways, gives us the opportunity to connect to people and understand how to work with others.

Tuesday, September 17, 2019

My Notes Web Application

For my first open course application, I created a simple website which contained a notepad. This application was created to understand how to work with Github and also to understand how to use git commands. It was fairly easy to use Github to start a repository and clone it to my local device to start coding the new website.

For this application, I decided to use one of w3schools.com's website template and created a small my-notes application which can be used to save my notes. The website was easy to code and understand and by using Github, it was easy to create a server to host the website as well.

As my second lab for DPS909, it helped me a lot in understanding how to use Github , how to create a server to host a website and also helped me understand license using BSD-2 clause.

You can visit the application by clicking the link here : https://asyam1.github.io/my-note/