0.2 Release


As mentioned in my previous release, I was pretty satisfied with the fact that I learned a lot about Open Source. Release 0.1 not only allowed me to learn the kinks of how to setup an environment (which ultimately in a way I also helped to troubleshoot), as well as communicating with real developers in order to fix real world problems. I was not successful at getting my code merged, as we ran out of time and Release 0.2 was right around the corner. The professor agreed that it was a better idea to move on.

This is now the second release. I set a goal for myself of getting code/changes merged. Rather than looking for complicated issues to fix, I wanted to start with something small, and attainable. This time around we had the freedom to look for issues ourselves. I went into GitHub's search section and rather than looking for the biggest and most popular projects, I looked for people who needed help by searching for the tag "help wanted". This lead me to my first issue...

FabManager

This is a Ruby on Rails / AngularJS application, website can be found here: https://www.fab-manager.com/

They needed help:



 Their issue looked pretty straight forward to me, as someone that was born and raised in Portugal for 14 years before moving to Canada. As such I took it upon myself to help, and get my first real merge.



The translations were pretty straightforward and places that needed work were all tagged with a comment. I went to work and not too long after, I submitted my changes. These got merged rather quickly (you can find the pull request here).It was small work but it felt great! From here I knew I wanted to do more...

Back to the search!! This time around though, I did a search based around a theme. Rather than looking for a tag, I looked at repositories within games. That's when I found a project that I was very familiar with:

DestinyItemManager

Anyone who plays Destiny knows of this website that allows users to manage their character's inventory, without being in game. It is a pretty handy tool, and one that I had used for years. I never would have guessed that they were looking for help from people such as myself to do a quick fix!



When hovering over an item, its name is displayed so that the user doesn't have to click into it to see every single detail. This is a nice feature. However, some items have very similar names, and can belong to the same subgroup, but be in a completely different item type (lets say a weapon, one which is a rifle and another which is a submachine gun. Both are weapons, but they are completely different). So, the request was to add the item type under the name of the item when hovering.

This task proved to be one of the most interesting ones for me since I got to see the back-end of an application that I knew so well and that I loved. The code itself was super simple, but navigating through foreign code and understanding it can be a pretty daunting task. Thankfully the folks over at DIM were super helpful and lead me in the right direction. I applied my change, and created a pull request. Didn't take too long to get merged... And not too long after...



MY CHANGES WERE UP ON REAL WEBSITE! AHHHHHHH!

Sorry about that tiny freak out. But yes, my change went up live for everyone to see! I was able to play a part on an application that I knew so well and loved! Again, I wasn't satisfied with just that. With 2 pull requests under my belt, one being a simple fix and the other a bit of I felt like I could do more... I looked for people that needed help 3 different projects:

RMW

This is a trash can utility written in C. They needed help with Portuguese. Again, me being fluent, I knew I could take this issue on:



This piece of work was more substantial. There were no translations as of yet like in the first issue I took on, so I had to translate the whole file. It took about an hour or two, but ultimately, it was another issue in the bag. You can see I made quite a few add-ons to the file, if you are interested this is the pull request.



IOTA Wallet

This was a NodeJS application. This is probably one of the bigger ones I worked on (with a pull request that is yet to be commented on most likely due to the scale of this application). You can find its website here: http://iota.org/ . Essentially, IOTA allows for using machine to machine (m2m) economy, and can be very difficult to explain with only a few lines. A few suggested readings I can give you are here and here.


I saw that they needed help brushing up their Portuguese translation. Looking through it there were lots of typos and strings of text missing. I left a comment and not too long after I received the thumbs up to work on it:



I went ahead and translated everything. I noticed that for the most part, the issue came down to words that were accentuated. If a word had a special character and/or an accent, the letter would be missing which would make for words that were cut up all over the place. You can find the pull request here. It didn't pass the Travis CI test, however that seems to come down to the actual code not passing it either. When looking at other PRs, the same issue seems to be present. I have yet to receive a message about this request and whether or not my changes were accepted. That didn't stop me, after all I had found one last project that needed help. And this one was definitely the one that needed the most work:

Slim-Website

Slim-Website (link to it here) is a PHP micro framework that allows for people to easily write and test web applications and APIs. Slim needed help from someone that could do translation to their documentation (this image kinda spoils what I worked on, but just so you can see the list...):


Slim was in the process of being developed in Brazilian Portuguese. mathmarques had a list of items that needed to be translated to Brazilian. Funnily enough, I am not Brazilian. Brazilian is to Portuguese, the same as British is to American English. It's similar enough, but not quite. I spoke to math and told him this, but he was just glad that someone was going to be able to help out with this huge item list. His PR can be found here, where he merged the changes I made firstly here, and then moved to here. There was quite the colossal amount of translation work to be done here, and it took very long. I took care of most of the items on the list, whereas math is to do any sort of revision, plus the files that are missing.

Overall as you can see I was quite busy! I didn't just work on one Project, I worked on 5! It was great to be given the freedom to work where we wanted. I got to meet so many developers, and see so much different code that it was quite the learning experience. This time I was also able to get my work merged (all 4 but IOTA as of me writing this blog post), and that felt really satisfying. Open Source was overall a great learning experience and a leverage that I now hold on to when applying to any kind of job. Not only do I have experience in the work field thanks to the co-ops I was a part of but also thanks to the projects that I was able to pitch into to and be a part of. I will definitely continue to help out on the web as I found it is actually a lot of fun, as well as very rewarding.

I hope you enjoyed this blog post!

Popular posts from this blog

Lab 2 - Building Firefox for Desktop from source on Windows 10

Lab 5 - Getting a Thimble testing environment to run

Lab 4 - Finding my first Open Source bug