Open Source

Hacktoberfest Recap

Looking back at how I was during the beginning of the month, I felt like I’ve made significant progress as an open source developer.

When I was first introduced to Hacktoberfest, I was pretty excited to work on real projects with potentially people from all over the world. When I first started looking for issues to contribute to however, I quickly became overwhelmed due to the nature of their difficulty as well as seeing so many experience and knowledgeable developers already contributing to these projects. I was afraid to tackle projects that I had limited knowledge in and was also reluctant to ask questions to avoid looking stupid.

Thankfully, I found the perfect first project. The project was to create a website to celebrate Hacktoberfest and anyone was welcome to help in any way they wanted. The friendly and easygoing nature of everyone work here eased me in to the month really well.

I then began to think how I could grow as an open source developer. I decided to try and tackle a different type of issue for each of my pull requests. That way I could get a feel for what kind of issues I enjoy helping out on. Over the month I’ve cleaned up code, edited documentation, implemented new features, as well as provided translation work.

I also tried to explore different programming languages as well to get out of my comfort zone. It’s amazing how much you can learn just by looking at other people’s code. The projects that I helped out on used : C/C++, Java, JavaScript, HTML and Python.

Overall the biggest challenge that I think I experienced was navigating through everyone’s code. Everyone has their own style of coding and it was pretty confusing at times trying to understand what they meant. Some of the projects had a lot of files and sub-directories as well, which made navigating even harder. Thankfully the techniques we were taught in class made the navigating process a bit better, though it was still annoying having to tell with numerous opened file tabs and remembering which one associated with which part of the code I was looking at.

Next time I would definitely try to tackle more complex issues. Most the ones I chose this time could be considered as quick fixes. Only once did I ever really have to struggle and take the time to understand what was going on in the project as a whole. I could also try to get more involved with the project members as well. All I ever really posted on GitHub this time was that I was interested in taking on the task and that the pull request was ready. Hacktoberfest is also a great way to network and I definitely should have taken advantage of that opportunity.

It was a great experience as a whole and I am looking forward to see what I can accomplish during next year’s Hacktoberfest! Who knows maybe I might do some open source work on my spare time as well.

Previous blog posts:

  1. Hacktoberfest is here!
  2. Second Bug Fix!
  3. Continuing with Hacktoberfest!
  4. Almost done!
  5. Aaand We’re Done!

Issues that I worked on:

  1. Add an easter egg solved through here
  2. Clean up code solved through here
  3. Updating README solved through here
  4. Add a new rule solved through here
  5. Provide translation solved through here

 

Hacktoberfest2018
Hacktoberfest Stats!
Open Source

Aaand We’re Done!

Hooray! Hacktoberfest has successfully been completed!

For my final issue, I decided to help out with some translating for a mobile app. “Backing Tracks” is an application that provides music accompaniment to allow users to practice playing their instruments or singing. The issue was simple enough: translate the texts that were displayed on the Google PlayStore into any of the listed languages that haven’t been completed yet.

Thankfully, this project was still rather new so a lot of room was available for help. A few quick translations into French and the pull request was made! While this wasn’t the most exciting issue to work on, I did want to try and tackle different types of problems for each of my pull requests during Hacktoberfest. Perhaps in the future I could look into bigger localization or translation projects to work on!

Open Source

Second Bug Fix!

Hooray my second pull request has been submitted! (Well actually I did have one other one but I figured it wouldn’t count as a “good PR” since all I did was add one word to the document).

This time I stumbled upon a project called AndHow, which is “an easy to use configuration framework with strong typing and detailed validation for web apps, command line or any application environment”. The issue had already been laid out and was meant to be a code cleanup: two modules existed in the repository which had very similar functions so one needed to be deleted.

At the beginning I misinterpreted the issue and thought owner, “@eeverman”, was simply explaining the situation and only needed add a reference to the newer module to one of the .xml files. He was kind enough to clarify for me after I had initially submitted the PR. Finding the old module itself was simple enough with a quick search through the files, but finding out where the old module was referenced, and then replacing the references to that file with a reference the newer module took a while.

I wasn’t sure exactly what to search for in order to locate the files: package name? class name? functions used? It also had a hard time figuring out what the .xml files were supposed to be doing since they referred to the modules as well. It also didn’t help that the repository was huge and had numerous nested folders with similar names, making navigation extremely difficult. It also overwhelmed me a bit since I was trying to figure out how all these files related to each other. After searching through all the .xml files I was really at a lost since none of them were referring to the old module.

However, I then remembered that both modules utilized the same functions, so I simply searched for files that contained each function name and then scanned through them to see if they had already imported the new module.  At last I had finally found ONE file that was missing the reference and added it in. I then updated my PR with the new commits and it is now waiting for approval. Hopefully this time everything goes well!

“@eeverman” was really nice: he thanked me for my initial submission and even apologized for potentially not being clear enough in describing the issue. At one point there was even someone else who wanted to take over and asked for authorization, but luckily “@eeverman” informed him that I was still working on it so he wouldn’t “steal” it. I have already witnessed quite a few issue where people would just submit PRs and not bother claiming them, making it rather unfair in my opinion. It is people like “@eeverman” that make me enjoy doing open source development work and he showcases the inclusiveness that this environment should be bringing. It also made me feel at ease and appreciated, especially being an aspiring developer, and want to continue doing this type of work. I hope that I will continue to work with people like him.

Open Source

Hacktoberfest is here!

 

hacktoberfest

The timing couldn’t be better!

This will be a great opportunity for everyone to get involved and become more comfortable with open source development! This month I am aiming to contribute at least 5 meaningful pull requests to any open source project out there.

Admittedly, I was quite intimidated searching for my first issue to fix. A lot of existing issues seem way too complicated for me to understand and as a result, made me less confident in my abilities. That’s why I decided to start out small and picked a language I was most familiar in: HTML / JavaScript

I stumbled upon this beginner friendly project and was excited to get started! This project is meant to serve as an introduction for many into Hacktoberfest and has many existing contributors. The creators have made a website containing basic information about Hacktoberfest and open source development. They are actively encouraging anyone to join in and improve the website in any way whatsoever and have done a great job at making the community fun and engaging. This is great since it was very open ended as to what we could do and countless features and gimmicks have already been added to the site! I decided to add an additional Easter Egg to the site and hopefully it will get implemented soon (see here).

There was one negative thing I noticed with a project like this: too much freedom can cause a lot of disorder in development. There were a few rules set in place for contributors of this project, the main one being that the page has to load properly. I believe a bot was also implemented to automatically approve pull requests so long as it follows that rule and that resulted in some duplication in code. Some elements were added twice, probably due to a mistake from some other contributors, but since this duplication didn’t break the html code, it was still merged in. Luckily this also means that others can jump in and fix this problem, albeit it could have been avoided in the first place.

All in all, this was a great start to Hacktoberfest and I hope that I’m able to slowly start tackling more advanced issues throughout this month!

Happy hacking!

hacktoberfest-logo-min