Skip to main content

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.

Comments

Popular posts from this blog

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 ...

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.

Building Mozilla Firefox

Trying to build Mozilla Firefox was such an experience. I have mixed feelings about if it's a good or bad one but nonetheless, I will share my experience. I built mine on my macbook pro running version 10.12. The things I had and/or installed were the following: -Terminal -Xcode -Homebrew -Python -Rust -Mozilla Firefox Code Downloading the Mozilla Firefox code was the simplest part, it took long but it was simple. The real challenge was trying to compile the code. The amount of time it takes to successfully build it is over an hour. Imagine reaching the end of the compilation, seeing that there is an error, and the compiler stopping. This was the case for six days! It took a long time to get this working. At first I thought there was permission issues so I tried building with sudo. This was not the right thing to do as it messed up my future attempts to recompile the code. I was told to remove the object directory and start again without sudo. The next thing that wa...