The DPS911 course is coming to an end and now it’s time to reflect on the whole semester.

Personally, I couldn’t be happier with the results.
I learned several things during the process, and most important, I was able to apply them in other courses as well.
For example:

  • Git
  • GitHub
  • Mercurial
  • IRC
  • Bugzilla
  • Blog
  • Twitter
  • Javascript
  • OpenSource

GitHub

After being introduced to GitHub last semester on the DPS901 class, I was able to apply that knowledge and use github to contribute to some projects and to use on personal projects as well

GIT

One of the things I always hear is that schools don’t teach students how to use version control systems, and that usually turns out to be a problem when looking for a job. Well, I’m very fortunate to say that I had an awesome introduction to GIT on DPS901 that showed me not only how to use the tools in a technical perspective, but also how to use to organize a project and optimize the development time.

Mercurial

Since Mozilla uses mercurial as its version control software I had to quickly learn how to use the tool. It wasn’t easy, but applying the concepts I learned last semester with GIT and with the help of the Mozilla community I was able to get started.

Bugzilla

I still remember a few years ago when I first went to Bugzilla searching for a bug  and being totally overwhelmed. First I couldn’t understand how Buzilla worked and second every bug that I looked could have been from another world as far as I knew. Everything seemed so hard, to be honest not only there was a lack of knowledge on my side, but also a lack of confidence  knowing that I could contribute to a huge project like Firefox. The funny part is that now, if I look at other bug trackers for big systems, such as chromium, eclipse, fedora, etc. I’m not afraid anymore, even though I might not know how the project works I have the confidence that I can just dive in and start contributing.

Javascript

Before I took the DPS901 course, I thought javascript was a language that validated forms in a web page, little I knew about how powerful javascript really is. I couldn’t have asked for a better introduction to the real power of javscript.
Thanks to the introduction to javascript last semester, this semester I was able to apply that knowledge in several different projects.
A few tools I used this semester:

  • NodeJS
  • MongoDB
  • Jquery
  • ProcessingJS
  • Mongoose
  • Other Node modules and client side javascript libs.

Blog

This semester I had to put a lot of things into perspective, one of them was Blogging. Before DPS901 and DPS911 I never stopped to think that writing about the work I did was really important, and I can see from talking with my peers at Seneca that they also think the same. However, after listening to David Humphrey lectures I realized that it doesn’t matter what work you do, if you are not able to talk about it and present to other people it’s almost as if you didn’t do it. Now a days living in a society that have such powerful communication tools it is a must to take fully usage of them. It is really helpful to have a place where you can go and see the work you did in the past, when I look back to my first blog posts I can see what I was working at that time and even use that as a reference for some work I might be currently doing, Plus the fact that if you recorded a problem/solution that you’ve faced, it could also be helpful to other people that are facing the same problem. How many times you didn’t search for something and ended up finding the solution in a blog?

Twitter

Another social tool I was introduced last semester was Twitter. Even though I still haven’t put in my routine to tweet about things, I use twitter regularly to see the work other people are doing and get in touch with the news around the world.
Twitter is an awesome tool that allows you not only to share with other people the work you’re doing, but also to keep updated with what is going on around you.
One of my goals for the summer is to become more active on twitter and start tweeting more often

Open source

In 2009, my first year in college I went to the FSOSS hold here at Seneca College. Since then, I knew I wanted to get involved with open source development. I’m a big believer in the open source way, and that it can be applied not only on software but in other parts of our society as well, but that’s a topic for another post.

One of the things that really made me happy this semester was to see open source in action in one of the projects I’m working on.
At the beginning of the project, one of the group members, a .NET developer was really skeptical about using NodeJS and MongoDB (both open source tools) in the project we were starting. After some good conversations he agreed and we dived into the challenge. During the way we had several road blocks, but every time we faced one I kept telling him that since all the tools we were using it were open source we could go and check the source code, and if we find a bug we could go and fix it, or change the code to do what we wanted, and that’s exactly what we DID!
The first project we contributed to was MongooseJS.
We faced a situation where we wanted to validate a Schema passing multiple validators during its initialization. However the library didn’t support that feature. We had two options in our hands:

  • Move on and find another way to do it
  • Add the feature we wanted to Mongoose.

We decided it was worth a try and opened a ticket on their repo on github: ticket
The we submitted a pull request with a possible fix: pull request
The solution was merged in their repo and now we and everybody else can use that feature :)

It was also good to see my brother in law building Firefox and starting to get involved with the project, and seeing some friends file bugs on Bugzilla and contribute to other open source projects.
Overall, I’m really happy to see more people understanding and getting involved in OpenSource projects.

To finish, I want to thank all my peers in the DPS911 course this semester, it was really inspiring to see the awesome work they did fixing bugs on Firefox and Popcorn.js

  • Abhishek Bhatnagar (abhatnagar1)
  • Christopher De Cairos (cadecairos)
  • David Seifried (dseif)
  • Matthew Schranz (mjschranz)
  • Mohammed Buttu (mbuttu)
  • Raymond Hung (rhung)
  • Scott Downe (scott)
  • Steven Ching Wei Tseng (Anachid)

And of course, a Big thanks to David Humphrey.
I couldn’t have asked for a better teacher and a better introduction to OpenSource and Firefox development.

Sincerely, Thanks for everybody, and lets keep hacking :)