Skip to main content

My first bug fix: Completed

Fixing bugs is a lot of work. Fixing bugs for an open source project is even more hard work. If you have no idea what you are doing, it is very difficult to contribute. Fortunately, the open source world welcomes new people. My experience with working in open source was difficult but so satisfying.

I ran into a few bumps before I could actually start working. I talk about those bumps in my previous blog posts. I realized that I had no idea where to start. I had never worked with a project this big and I was intimidated. I did not know where to start.

I was having a very hard time, my head was hurting, I was feeling dumb, and I was beginning to give up. But then help came to help me. One of the guys over at Mozilla was a big help. He took his time to email me personally to check up on me. I was shocked that he did that.

I replied and we started chatting on IRC. He wanted to help me and he was very knowledgable. He suggested another bug for me to work on to get more familiar with the python language. He said that I can keep the bug that I was assigned and I can try to work on it again when I'm more comfortable. I accepted the new bug from him and I started working on it immediately. The bug can be found here.

It seemed to be a more simple bug that required me to remove code that is no longer being used. I found this job to be very easy and I did it really fast. I was excited and I asked him where I can submit my code. He said wait, slow down, have you tested the code? I responded yes, it runs exactly the same way. He said you need to run the built in tests using a certain command "./run-tests.sh" I was like oh, okay. I did it and I was waiting and waiting and waiting. It ran and ran and finally, I couldn't believe my eyes, it said no errors found. I was very excited at this point.

I rushed back onto IRC and said the tests were successful and he told me to commit it to my cloned version of Balrog and then to do a pull request so he can review the code. He reviewed it and told me to fix one more thing and then commit the changes again.

I changed what he asked, but this time, the automatic tests that are on github did not pass. He told me that it's a formatting issue. There should be 2 lines of spaces between classes instead of one. I changed it, and the tests on github passed.

Finally, after waiting and waiting, my code was accepted and my code was committed to the official Balrog project. I became a contributor to Mozilla and I felt so accomplished over a small little bug. Overall, it was a long difficult journey, but the satisfaction of seeing the end result is very motivating. I look forward to working on more bugs in the future both in this course and even after my school career.

It was a fun experience and I want to be able to contribute to many other open source projects that I am interested in.

Comments

Popular posts from this blog

Atom, My New Code Editor

Recently I started looking into a couple code editors for school. There were two that caught my attention; Atom and Visual Studio Code. After playing around with both of them, I decided to stick with one. Overall, they do similar things, but my decision is solely based on my bias. I personally am not a fan of Microsoft's software so I was not motivated to experiment with Visual Studio Code. Atom is a free to use code editor and can be downloaded at  https://atom.io /. The interface by default is dark, and it looks really nice in my opinion, but it can easily be changed by going into Settings>Themes It is really easy to customize it to how you want it to look. There are many things that can be changed, one controversial one being the spacing between tabs. It is really easy to get started with Atom. As soon as you start the program, you are greeted with a welcome page and we can easily start to edit anything we've been working on. The best part about Atom is that...

Swift 4

There are a lot of languages out there to choose from when it comes to programming. Some are similar to each other and some are different from each other. Some are designed for a single purpose and some are designed for multiple purposes. A general programming language that was built to account for modern safety, performance, and software design patterns which is safe, fast, and expressive is a language called Swift. Swift is currently in it's fourth stage and the project became open source on Github in early December 2015. It is written with the languages; C++, Python, and Objective-C. It is associated with it's very well designed and detailed website called swift.org . Swift is used to create a good language for uses ranging from mobile to desktop to cloud services programming. For the most part, this language is being used by developers to develop applications for macOS, iOS, watchOS, and tvOS. Although it is open source, Apple has not allowed the Github community t...