Wednesday, January 26, 2011

Subversion


Our assignment was to experiment with Subversion. Although I do not have any prior experience with Subversion, we do use version tracking software where I intern.

I began with installing Subversion on my Ubuntu machine. This was very easy, 'get-apt install subversion' does the trick. Although when doing so, I received a message stating I am using the most current version. I do not recall installing this previously but I must have, unless it came packaged with the distribution of Ubuntu I am using.

Next was to log into the Subversion 'playground' Dr. Bowring setup for us to mess around with. First I wanted to be cool, so I tried accessing the playground via command line. I was unable to accomplish anything this way, I kept receiving server rejection errors. Probably because I did not know authenticate to the server through the command line tool. I knew it had to be something I was doing wrong because my command line skills are limited at this point in time, I'm betting this changes by the end of this semester. Therefore I turned to a Subversion GUI client called RapidSVN.

I downloaded and installed RapidSVN then launched the program. It did not take me long to learn the interface, it was fairly simple. I setup a repository by entering the repository URL, a user-name and a password; I was in. I looked at what others had done and then decided I needed to leave my own mark.

I began by checking out the repository onto my machine. Then I played with some of the existing files and even created a file using VIM. Took a minute to get used to this editor because it is my first time using it. Command mode and insert mode threw me off at first but it did not take me long to figure it out. I saved the text file and added it to my local repository, this is important because if a file is not added to your local repository it will not be committed to the repository on the server, then committed my local directory back to the server repository. No problems so far, everything seems very straightforward.

Figured I would play around a bit more though. I wanted to delete a folder so I deleted it on my machine then tried to commit my local working set to the on-line repository. I received an error instead of the desired results, this makes sense. I deleted the folder on the server and updated my directory and even though the folder was not on the server it stayed on my machine. I figured it would delete it, this was not the case. After further thought this made sense as well. I played around for a bit more and decided I was through for now.

Well, that is going to wrap up my first experience with Subversion. The next task at hand is obtaining the source code. I do not feel this will be difficult as we have done this before with last semester's project. More to come on this later....toodles!!

Sunday, January 23, 2011

First contact and possible contributions

In Thursday’s class we met as an entire class and shared some of our personal experiences from becoming involved in these open source projects. It sounds like everyone one is making good progress and it has been a bit easier going in the beginning than last semester’s projects in 362.
Some groups have already received emails from their project’s community welcoming them in and offering ideas for contribution.  As of Thursday, our group had not heard from anyone within our project but we did get a response on Friday. Our group was welcomed and several sent suggestions on where to begin. One was with the Banshee ‘love-bugs’ posted on Bugzilla. ‘Love-bugs’ are supposed to be the bugs that are considered to be an easier fix and may be good for people trying to just get started, like us!  So I checked it out and posted the link on our wiki then picked out one that I thought we may be able to handle.
The bug involves an issue that crashes the program on startup. If the location of the ‘Music’ folder is set to ‘/’ instead of a “normal’ value like, ‘/home/myaccount/Music’, then the program will crash on startup.  There needs to be a guard against this condition. I think this will be a reasonable first contribution. I will bring this up with the team at our next meeting to see what they think. I am interested to see with they have come up with as well.

“The Cathedral and the Bazaar”

Sorry about this being a bit late, but I do blog regularly so I figured you would not mind. This essay by Eric Raymond discusses two different types of software engineering models, the Cathedral model and Bazaar model. It then goes on to explain why the Bazaar model is a superior model for an open source project and provides guidelines to follow.
In the Cathedral model, the source code of the project is limited to a small group of developers until a release, and then it is released to the public. The author argues, and I agree, that more time and energy are spent by the core developers of a project in the Cathedral model. This makes sense; the development of the project is limited to only a small group of people.
The Bazaar model lies at the other end of the spectrum.  The source code is stored on a server and accessible via the internet by the public at all times. This enables many people to look at the source code, play with it and contribute to the project.  In this model, there are many people contributing in many different areas of the project all at once. The work load is delegated out to many individuals all over the world, taking much of this burden off of the core developers.  At first it sounds like this may lead to chaos. I do not think that this would be an effective method of development in a production environment. But open source is a completely different breed of software development. And if managed correctly, this method which seems like chaos can be harnessed and made very useful.
Many of the necessary guidelines for a successful open source project can be found throughout this essay. I will just mention a couple that I found particularly important or interesting.
First, I think it is important to have a project that interests people or satisfies a need. If you want people to get involved and contribute to your project it must be interesting to them right? Contributors do not get paid for their time so they must be rewarded by personal gains, like contributing to a piece of software that solves an issue in their life. Most of the time, these people are willing to work harder than the people being rewarded financially. For example, I read an email in the project mailing list archive where this guy worked through the night on the project to resolve an issue and he was getting ready to go to work that morning. That is serious dedication and personal sacrifice!
It is also very necessary to have a tight core of developers manage the project. Everyone communicates with these individuals about decisions made on the project. I believe this is what prevents the wide- spread chaos. Many people communicating with just these few people, this keeps the number of communications lines at an acceptable level. If everyone tried to communicate with everyone on a large project nothing would get accomplished. So I would say this is a very important guideline. It seems that most projects follow this one.
There are many other great guidelines for an open source project, too many to mention. This essay by Raymond has convinced many in the open source world to adopt this type of model when undertaking a new project. That is impressive! Just want to thank Dr. B for pointing out this piece of work that has influenced so many in the open source community.

Thursday, January 20, 2011

Establishing communication with the project

I have had my IRC client, Pidgin, installed for several days now and I have been logged into the Banshee chat room since. Just lurking… I have been monitoring conversation and observing etiquette. Have not contributed to any conversations yet but I am positive my time will come.
There are several things that I have noticed while hanging in the shadows.  I have noticed that when you are talking directly to a person you should begin your comment with their nick. There is a bugbot that comments when people post new bugs or make updates to bugs. Also, all the conversations are mainly related directly to the project, there is no small talk. When going through the history I did find a few instances of short, off the subject chat, but not much. One other good thing that I noticed, the Banshee chat room for our project stays filled with a good amount of people. Hopefully this means help will be readily available when needed.
The other night I subscribed our group to the Banshee mailing list. This will be a good way to stay in the loop with the project.  After submitting my request it said I would be contacted shortly via email. I waited but have not received an email and this was a couple of days ago. Therefore I decided to go to the website and submit another request using a personal email address. We will see if anything happens from this one. While on the site I checked out the archived files. There are many conversations in the archive, some dating all the way back to 2005. The project was created around then so these may be some the initial emails of this project. I read some of the emails from 2005. I did not find anything too exciting. There were a lot of feature requests though and some requesting the features wanted to help develop them. That is pretty cool! Just like Raymond said, your users can become one of your greatest resources. Some of these emails are real life examples.
I have an update on the mailing list situation. I received my conformation email a bit ago from my second submission. I confirmed and have now begun to receive emails from the Banshee project.  Nice, looks like I am in. I am on the mailing list and have the IRC channel setup.
Soon to come, my take on “The Cathedral and the Bazaar”.

Tuesday, January 18, 2011

Project selection…Banshee it is!!! ..and more.

Oh boy…guess I need to blog a little more often. I have so much to talk about. Hmm…maybe I should just do less??? Just joking Dr. B, couldn’t do that if I wanted to…it’s not in my nature. Alright, let me get started…
 The other day while still researching our possible projects, I set up a Bugzilla account. I did this because I wanted to see the different types of bugs posted for the Banshee project, they use Bugzilla. After creating an account I had to log into my email in order to confirm my account. After confirming the account I could log into Banshee’s Bugzilla site which had all there bugs listed. The list was extensive…I looked at this a positive sign because it looked like there was plenty to address and the project was very active.
Also the other day after doing research on our list of six possible projects, our team selected a top three list. They are Banshee, Lenya and InkScape. All three projects appear to be well documented and developer friendly. They have an IRC channel, mailing list, bug-posting site, forums and other features that will make it easier on us when trying to break into the world of open source. We listed our top three at the bottom of out possible projects page on the team wiki. From the sounds of it, we were leaning towards Banshee so I kind of jumped the gun and started playing with the Banshee project…not surprising at all if you know me.
I became familiar with their site and installed their software on my Linux machine to play with. I like it..looks cool! I don’t currently have any media on my Linux box but I need to put some on there so I can use the program more in depth. I was just ablr to play with the internet streaming features. I want to hook my Android phone to it as well to see how it acts. Oh...just had a thought! I have music on my phone that I can try to import using the program. Ha…first experiment! J Will report on this later…
The other night I took the liberty of subscribing our group to the Banshee mailing list and looked into Banshee’s IRC channel. I skimmed through the documentation offered by Dr. B on IRC setup but decided to just jump in and figure it out. One part I did pay attention n to is the etiquette section. I didn’t want to be that idiot newb looking silly in the chat room because the etiquette is a bit different than a regular chat room. Just for example, staying logged in but not participating in conversation is accepted as normal; only speak when you have a question. As opposed to a ‘normal’ chat room, when you are logged into the chat room you are most likely there to be participating in conversation. It is also acceptable to join a conversation without saying hello and leaving without saying bye. This would seem rude in ‘normal’ chat rooms. After reading I looked up IRC clients and decided to try Pidgin. I installed it and entered the server information found on Pidgin’s website then was able to connect tot the Banshee channel @#banshee. When I logged in it was late and no one was talking about anything but there was about 70 people logged in. So it appears there will be plenty of help available if needed. Yet another positive for this project. Also tried mIRC but prefer Pidgin…I think it is only because of the name???
Finally we come to today, or I guess yesterday…it is a bit past 1AM...(yawn). We had class today and our third team meeting. At the beginning of class each team got up and did a small presentation on their top three projects. Each group had the option to all go up or just one. We thought Shaun could handle the job for our team so he gave our presentation.  He did fine. After presenting on the top three we selected our number one project, we had no challengers for our number one so we were able to choose Banshee. This is good because I have already established our communication channels for this project.
After all teams presented we broke into team meetings. Our group took care of some housekeeping issues then preceded to setup IRC clients on the others machines. Unfortunately we could not get connected at school. I had no problems at the house last night so maybe it is something with the school’s network. Any who, those guys are suppose to go home and try to set it up to see if there troubles continue. I am on right now at the house with no problems. Not much happening tonight either…again, many people on though.
Well, think I’m done for this one…g’night!

Saturday, January 15, 2011

My top projects picks...

Well to begin I set up a team blog instead of incorporating it into our wiki page. This seemed like a better solution so that is what I did.
Also did a little research on the projects found on our list. After visiting all project pages and checking out wikis, blogs, bugs posting sites and other stuff I think I have made a decision on my favorite projects. I would like to work on either Amarok or Banshee. Both of these products are media players/managers. I think this choice may have something to do with my love for music. But there are other reasons. Both have all the features we are looking for and are well documented projects. They should be easy to become involved in because of these characteristics.
I have posted some information that I have found on our team wiki page. Just waiting to hear from my team mates on their thoughts then we can make a decision and move on from there.
Well…it is Saturday night and I’ve been doing homework and research all day. Believe it is time for some relaxation and fun. Who knows what that may entail but…goodbye for now!

Busy first week!

Well it’s obvious to me that school is back in session…busier than ever. Many classes with lots of homework…ugh! No more personal time…whatever… Time to step it up, last semester!!! J
I’ve done quite a bit with our 462 project since my last blog. After setting up my blog and the team wiki I played around with the available tools and customizations, just to see what I could do…ended up tweaking our pages just a bit.
I registered for the POSSCON conference as well. Read a bit about the conference on their page. It looks like it should be interesting and fun! Glad the school is covering the cost for us!!
In class Thursday we had a team meeting to discuss possible choices for our term project. We came across some real interesting projects and limited it to a list of 5 or 6. You can check the list out here. I am going to install some of these later to play around with them and will blog about my results later.
We are also trying to make a decision about a team blog. We are not sure whether we want to use a separate team blog or just incorporate it into our team wiki. Haven’t quite decided yet, let you know when we do…
Well time to get to work for the day! Be back later…..

Tuesday, January 11, 2011

Back to the grind...

Today was my first class back from winter break. Was not too excited to get back into classes but I am excited that this will be my last semester. For our first assignment in 462, we were given then task of creating a personal blog to record thoughts, discoveries, joys and woes as we progress through our projects this semester. Well, here it is! This is my first blog ever so this should be interesting. Looking forward to getting experience with this and the wiki page we will setup for our project in the near future, as well as all the other tools we are going to use this semester. After class discussion, it sounds like were are going to get a lot of real life experience this semester so I am feeling a little more enthused about the semester. Well, guess that is good for my first post. Until next time....