Skip to main content

Posts

Fixing Bugs Again

I started working on Open Source Projects again and I had a difficult time getting started again. A big part of my problem was not having enough storage on my computer. After moving some things around and deleting files and programs I don't use, I was able to clone a couple projects and I was finally ready to start running them and replicating the issues.  This time around, I worked on three projects; Thimble, Brackets, and Balrog. The bugs that I fixed for Thimble turned out to be fixes on Brackets so the pull requests were made there but referenced from Thimble. Overall, getting started was much easier than last time because I already had the experience and possibly the necessary files on my system to begin. After being assigned a couple bugs, I began to work on them and I have made a couple pull request for the fixes. They have passed all tests and I am just waiting on it to be accepted and merged into the actual project! That is my goal. I will need to follow up if anyth
Recent posts

Playing with GH-Pages

GH-Pages is an interesting feature of github. It allows a user to host a website for free without registering a domain. I had the chance of playing around with it and it was super easy. It sets u on its own! Once you create a gh-pages branch, it automatically creates a url for the website content to be rendered on. So the code I wrote plays around with onLoad and how events can be triggered every time the picture is reloaded.

Documentation

Documenting everything is extremely important. It gives everyone the information they need whenever they need it. Github makes it very easy to have beautiful pages written in markdown rendered automatically. It's nice and easy to do. Creating a README in the root of the project is common practice and is even automatically rendered when the project is open in Github, under all the file names. I've been looking at quite a few different projects and they all have README files. It usually includes an introduction to the project, how to set it up, how to run it, how to contribute to it, major credits to people, etc... Essentially, it holds important information about the project that anyone has access to. Along with the README file, we can comment on our actual code so hackers who read the code can know what does what. It allows the creator to recall what they wrote in the past and it invites new people to understand what has been written. It is really important that comments are

Second Attempt At Fixing Open Source Bugs

In my second attempt at fixing open source bugs, I want to prove that I have grown from the first attempt. My first attempt was fixing a single bug, requesting a pull request, and getting approved! My goal this time around is to work on more than one bug, I plan to work on 2-3 and my ultimate goal is to get all of them approved! There is no better satisfaction than getting approved!  Since I was working with Mozilla projects before, I decided to stay in that bubble and work on Thimble/Brackets. I have currently asked to work on a couple bugs like this  and this  and once I get the okay to do so, I will begin to try to fix them. As of right now, I am still researching for more bugs to work on, but at the time of this blog post, I do not have any backups.  Due to the strike, a lot of things are altered in my schools semester. Surprisingly, all my teachers were very accommodating and they dropped tests and assignments and overall, it's making the end of the semester less over

Automated Testing

Automated testing is a very useful feature that is simple to implement in any open source project. It allows the testing to be automated to ensure that nothing will break when things are changed. In the open source world, code is changed quite often so having automated testing can make it easy to track and manage errors and we can know if the code is properly written to pass the tests. Overall, it is very beneficial in open source programming. Travis CI makes it very easy to link your Github page and the repos on it. It is very easy to get started and I would recommend it to everyone! I always used to do my testing by outputting the results and comparing it with whatever I had in my head, now, it does it all on it's own.

Creating My First Repo

For my Open Source class at school, I had a lab to create a repo. This was my first repo ever and it was very fun to do. I had very detailed instructions on what to do and I got the hang of it very fast. It's interesting how open source works. I chose to use the Rust library to work on the lab. The lab is a multi step lab and will be added onto in the upcoming weeks. I had to design a library for obtaining file info. The best part about open source is that it is open source! Meaning as long as I follow the license rules of other projects, I can essentially reuse their code. Instead of reinventing the wheel, I can build on what already exists. And that's the power of open source. The next step for me is to use continuous integration in my project. I have never done this and it will be a good experience and it will be very valuable to learn because it is something that can be used in my future projects. I will talk about it more in my next blog.

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 t