Release 0.4 – Final

Last week I had a few issues reading the code in OSM project and finding an issue that I could fix. Initially I tried to fix a bug in MapRoulette section of the OSM project but unfortunately I failed to fix the bug. Having only couple of days left I decided to fix multiple smaller issues in NameSuggestionIndex which required research, manipulating the original code and creating wikidata pages for suggested business names. My only regret is not being able to work on a bigger portion of the project and fix a bug using my programming skills learned during this semester.

PR 1: https://github.com/osmlab/name-suggestion-index/pull/2571

PR 2: https://github.com/osmlab/name-suggestion-index/pull/2570

PR 3: https://github.com/osmlab/name-suggestion-index/pull/2572

Although I failed to fixed my original desired bug I managed to learn a lot about OSM and how it works. I also got a little more comfortable at reading other peoples code which I believe is a very valuable lesson.

Release 0.4 – Update

Beginning of the week

I decided to go ahead and contribute to one of the projects I’ve contributed to before. A little known project called OSM (OpenStreetMap). Since most bugs I see are either small or too complicated for me to fix I’ll go ahead and try to cloud multiple issues in this project.

End of the week

OSM Lab project contain many different parts and repositories written in diffrent languages such as Python, C++, JavaScript, etc. Unfortunately not all repos are documented clearly and reading all the repos and trying to figure out the code turning out to be challenge. So far I’m reading the code for

OSM Lint: Which is a validator built with TileReduce for validating OSM QA Tiles.

OSM Wayback: Which creates a RocksDB to store each version of OSM object in history

OSM DeepHistory: Designed to show history of objects in OSM

OSM NameSuggestion: Which takes care of populating suggestions in the search box.

I’m hopeful but if I fail to understand the code/fix the bug I will have to start over and choose a different project to contribute to.

Release 0.3 Final Release

This week I realized the process for adding a new language to UniversalBypass has changed. Originally and according to this pull request It was possible to add new languages through pull requests. However, the author has changed the process and I have to submit the localization through a new website. This website is called crowdin.com which is a collaborative website for adding translations & localization to projects used by many big opensource projects such as discord, and electron.

I created an account in crowdin.com in order to add the Persian/Farsi localization to this project and managed to add and finish Farsi localization to this project.

Pull Request: https://github.com/timmyrs/Universal-Bypass/pull/175

Crowdin Updates: https://crowdin.com/project/bypass/fa#

Release 0.3 Status Update

The project I’m working on this week is an open source chrome extension called “Universal bypass”. It is one of the few extensions I use and love so I decided to contribute to it last week. After looking at the GitHub repository for this project it looks like I can contribute to localization and adding new bypass scripts. Looking at the project files I should be able to create an entirely new localization for this project by adding the proper section and files to /_locales/ section of the application. I already went ahead and added the fa/messages.json to my forked repo and I will start adding Farsi localization to the project. If I get time I will also go ahead and add more bypass scripts to this project by adding them to content_script.js section of the project.

Project: https://github.com/timmyrs/Universal-Bypass

Release 0.2 – Final Thought

During the past 4 weeks I went through the process of choosing the right project for me to contribute to, change those and find different projects. Mainly because I wasn’t sure about my own capacity. However after 4 weeks of working on multiple open source projects I feel more confident about my ability to help and contribute to the open source community and I’ll be moving forward with a new found self-assurance.

These past 4 weeks, I’ve done many different things to contribute. I’ve researched, helped writing and documenting, and fixed localisations and bugs. Through the projects such as: Syncfusion, OSMLab, and Amberjs.

If I had to do this again instead of waiting to make all my pull requests at the end and after I was sure everything was fine, I would go ahead and make the pull requests earlier. Even though they’re not due it takes time for them to get approved and also to get a feedback from the project manager.

Pull Requests:

1: https://github.com/syncfusion/ej-global/pull/58

2: https://github.com/syncfusion/ej-global/pull/58

3: https://github.com/osmlab/name-suggestion-index/pull/2394

4: https://github.com/osmlab/name-suggestion-index/pull/2395

Release 0.2 – Lab 7

This week I’ll be working on OSM lab again and try to fix another issue open in their issue tracker. It is related to their “name-suggestion-index”. I’m going to have to do more research and find out about another name suggestion. This week that name suggestion is “Street One”. After completing the research I should be able to adjust the code accordingly and make the proper pull request.

Issue:

https://github.com/osmlab/name-suggestion-index/issues/1212

Release 0.2 – Lab 6

OSMLab is an organization for OpenStreetMap related projects – libraries, applications, and other code. During the next two weeks, I’ll be contributing to this project and try to close some of their issue open.

This week I’ll be working on research needed for some of their local market name suggestion in the application. I need to research about market/store names that they’re having issues and make sure they are real brands and not a generic term to describe a category. After the research is done, I’ll go ahead with adjusting the code and creating the pull request.

Issue:

https://github.com/osmlab/name-suggestion-index/issues/1262

Release 0.2 – Lab 5

syncfusion

This week was a very slow week for me and I’m still working on submitting the pull request for Syncfusion project. That being said I’ve tracked down multiple files in their projects that needs proper Persian/Farsi localization. I’ve originally had some issues with using the proper Keyboard/Unicode but that got fixed and I’m on track now. I should be able to submit the pull request tonight and have it merge to the project.

Issue

https://github.com/syncfusion/ej-global/issues/56

In Search of Open Source

I’m in search of new open source projects to contribute to this week. I’l only natural for me to want to do my little part and help squash those pesky bugs that everyone hates. I was debating if I should help a project that uses a program I’m more familiar with or to challenge myself and get out of my comfort zone with a programming language that I don’t often use. Due to time restrictions and my school grades being directly connected to my contribution I think for now I should stick with a programming languages I like and know (ex. JavaScript & C++).

For the purpose of my 0.2 release I picked 3 projects that I love and, use in my day to day life. They also use JavaScript which is a programming language I like so that a plus. Lets go over them together, shall we?

Adguard

Adguard is a browser extension I use and love. It removes ads from the websites so I don’t have to pull my hair out everytime I’m browsing the internet. I’ve been using it for the past 5 years but I never knew it is open and I think it’s time for me to help and contribute to it.
Link: Adguard on GitHub

Brave Browser

Brave browser is another project that is very close to my heart. I’ve been also using brave for quite some time now. It lacks some of the features that I like and some bugs that I’m aware of so hopefully by contributing to it I can fix those bugs and add the features I like and I feel like its missing.
Link: Brave Browser on GitHub

Syncfusion

I came across Syncfusion when I was looking for UI components to use in conjunction with angular. It wasn’t what I decided to ultimately use for my project but I did realize their localization for Farsi/Persian was incorrect and so I decided to fix that since Farsi/Persian is my native language.
Link: Syncfusion on GitHub