Tuesday, February 22, 2011

Chapter 7 Exercises

Hello again! As I stated in my previous post, our current assignment is to read TOS Chapter 7 and do some  of the exercises. After reading over the chapter before beginning the actual assignment was helpful because I got the opportunity to get a grasp on what was being discussed before I actually did it. Even though I had already used the diff command before, I got to learn how to do some things with the command that I never knew how to do before. For example, with the diff command, you are able to not only compare one file to another, but also compare files in directories if needed. I didn't have too much trouble follow along with the step by step walkthrough of creating patches.

We were assigned Exercises 7.2.2, 7.8 and 7.9.
Exercise 7.2.2 wasn't too difficult, after following along in the previous section, this exercise was actually fairly easy.  The way that exercise 7.8 is worded is a little confusing to me, so it took me a while to do that one. I understand the concept of patches and how to create them, but the wording has me thrown off slightly. What I wound up doing (hopefully it's correct) was creating a file named bar with something in it and then copying it and its contents into a file names foo. I then ran the diff command with it's contents being sent into a file called foo-bar.patch. To be sure I was reading things correctly, I even read the question aloud to some folks to see how they interpreted it. Most interpreted it my way, so I stuck with it :).
Exercise 7.9 was a little more extensive so it took me the most time of the three. It wasn't any more difficult, however, because the step by step instructions given made it pretty clear what needed to be done. I was able to get everything to work properly.

Our team is now on our way to getting the rest of our semester planned. We have a few ideas on how we would like to contribute and will be posting them on our team wiki as we figure them out.

Monday, February 21, 2011

TOS Ch. 7 & Team Bug Report

For our individual assignment for today, we were assigned to read TOS Chapter 7 on creating and submitting patches to open source projects. Before I began actually reading this, I thought I was about to learn about something that I had never learned before. After reading the first couple paragraphs and our brief discussion we had prior to doing this assignment, I now realize that I have indeed created a patch before. Another name for a patch is diff. I have had experience running the diff command in ubuntu terminal using a script from my previous software course CSCI 362 (Software Engineering). Doing this reading, however, gave me a deeper look into the proper way of  using diff and patches in the open source community. The step by step instructions on how to create patches was very helpful as well..now that I've read through the chapter, I can go back and look at the Exercises and begin to figure those out.

As far as my team and I, we have been making pretty great progress. Our current assignment (which is due tomorrow) is to fix the bug we previously found and reported on. It didn't end up taking us as long as we thought it would. If you would like to see our bug report, please check out the First Bug page of our wiki. We not only share our solution, but the process we followed to get to the solution. We are currently trying to figure out what kind of major contribution we would like to make to the project. We're pretty proud of ourselves for fixing the bug, but we would like to try and do something a little different. For example, we were thinking we could work on some documentation to start out with and then possibly work on some graphics for the game, or even create our own portion/game within the game! The cards are still on the table, but hopefully we'll be able to come to a conclusion soon as a team.

Until next time folks...

Thursday, February 17, 2011

Just some thoughts...

Hello again!

This blogging thing isn't quite as easy when there aren't assignments that have been made. As I mentioned in my previous post, the current team assignment to fix the bug of our choice. Now that this has been done, there hasn't been much more to do (next assignment hasn't been posted yet). We have decided to devote this extra time to finding things we can work on. Some ideas we've come across so far include working with some of the graphics, documentation, or possible even building our own mini-activity for use on the XO laptops. Besides that, everything is running smoothly. We even got the opportunity to Skype with Jonathan, the guy at RIT that has been helping us through all of this. We learned a lot more about the Math4 Team/Fortune Hunter project and got some helpful suggestions. I'm pretty excited about this project and I hope that my team and I get to make successful contributions to this team.

On another note, the 5th annual Computer Science Alumni Symposium was yesterday. I can honestly say it was the biggest crowd I've seen at any CS function (ACM meetings, etc.) There were students and professors alike there taking in all the valuable information the alumni had to offer. The guests ranged from businessmen to Ph.D. students, all having come from where we're coming from. It's almost inspiring. I even got to see an old friend in the process (Bobby Goodrich). I also can't forget to mention how amazing the bread that was provided for our sandwich making privileges really was. I heard that the wheat bread wasn't too great, but the white bread was perfect and I think I need to buy some.

That's all for now folks...until next time.

Tuesday, February 15, 2011

Ewwww....bugs...

Another week has gone by and lots of progress is being made with my team on our project. We haven't had any individual assignments in a while, but my team and I have been working very hard to get things rolling smoothly. Our next team assignment that's due is to fix the bug we chose to work on and then write up an experience report on how things went. Fortunately, my team and I have been working pretty hard and were able to get that done fairly quickly (being that it's not actually due until next week). It took us some time, but as we sat down longer and looked at the code more in depth, we began to see where things were getting confusing and why the bug was there to begin with. One of the major problems (and I think my team will agree with this as well) is that documentation isn't the best. On top of that, the way they're developing the project, there's so much to have to look through. We were told that we only needed to work on files in the MAFH2 folder, but some of the changes that really needed to be done involved files outside of MAFH2. However, once we noticed that the files were not communicating properly, we just moved some of the code needed to fix the bug over to our folder (MAFH2). This left us with duplicate code, so we may have to reevaluate our solution, but a solution was found and that's definitely a good start.

On another note, today we have the CS Alumni Symposium, which I am pretty excited about. I attended last year and learned a lot of valuable information (and also had a pretty fun time :) ). Hopefully this year will go as smoothly as last year did!

Until next time...

Thursday, February 10, 2011

Updates

Although I have not had any individual assignments, I've been busy working with my team on our project. Right now, we are working on a bug for our bug report. We have found the bug we want to work on and we are making some strides in figuring out the problem. It's turned out to be a little more difficult than any of us initially thought it would be, but you can check out our wiki to see updates on our progress.

As for myself, I have been busy working on this bug and trying to find a solution. We are unable to debug Python in Netbeans (which we had to figure out), but in searching the program files for the project, I was able to find some possible leads for the bug assignment.  This is posted on the our team's wiki as well. There will be more here soon, as I work more on the project.

Side-note: I submitted my last graduate school application yesterday to UNC Charlotte...Now the wait...

Sunday, February 6, 2011

Chapter 6 Exercises

TOS Exercise 6.4

My team and I's project keeps a list of active tasks and bugs. There are currently only two bugs listed, but of the two the oldest bug in the project (Fortune Hunter) is the scan damage bug. In the game, when you encounter an "enemy", you are supposed to be able to attack them and scan them for how much damage has been done. In the game, you are able to fight the opponent, but when you scan them instead of telling you what their weakness is, it kills them. Even though this is the oldest bug, it is relatively recent (posted november 3, 2010). I believe it has not yet been resolved for a couple of reasons. One, I think it's still pretty new and there's still investigation being done into the root cause. Also, after looking at the code with my team and finding where the "scan damage" function is implemented, it's not as trivial to solve as my team and I thought it may be. It states clearly what it is supposed to say/do when the button is clicked in the code, but finding where something's going wrong seems to be a completely different story. These may be the reasons that my team and I decided to take on this bug for our next deliverable.

TOS Exercise 6.5

Before seeing this assignment, one of the main developers of Fortune Hunter already gave us the information we needed to make an account on the bug tracker. I thought I had done what I needed to do to have that, but when I went to try and login, it wouldn't let me. I didn't see a link on the page for registering either. I sent an email to the main developer (because he had said he was having some trouble with permissions and things) to see if that had anything to do with it or if I did something wrong...I'll update as soon as I hear back.

Just as an update, I finally heard back from Jonathan and have made an account with fedora to be able to access the trac list. The problem I am not running into is that I am not able to log in on the page with the active tickets. It asks me for my username and password, I put the ones I created with the link provided by Jonathan, but it keeps asking me to enter it so I never really get logged in. I'm not sure what the problem is, but I'm in the process of trying to figure it out.


TOS Exercise 6.6

Being that there are only two bugs in our project, my choices of a bugs to replicate are slim. The bug that my team chose I can definitely reproduce (it's not too difficult to terminate an object when a button is clicked). I cannot, however, reproduce it as it is written now because I have yet to find out how it is being caused now. The other bug, Dungeon 3 stuck seems like it would be the more difficult to not only reproduce, but to find the root cause of it now. In order for me to be able to try and reproduce a bug, it has to be taken care of first and I have not yet been able to figure out how to fix either of these bugs. If I do come across a solution, it will be posted here....


TOS Exercise 6.7

None of the bugs/tasks on the list are labeled new. The newest task was posted November 15, 2010. I'm not sure if I completely understand what it means to "triage" a bug. I understand what they're saying triaging includes, but I'm not sure if I'm supposed to add any part that is not already there. The bugs that are on the trac list seemed to have already been triaged (labeled with the priority, understandable explanation of bug, etc.)  The tasks as well are documented pretty well. Some of them could have been explained a lot better, however. Also, the bugs could have been described a little more in depth. The scan damage report did a good job of explaining the fact that the button doesn't work, but it doesn't explain what does happen when it's clicked. I feel like this is pretty important information if you want to fix the bug. Once I hear back from Jonathan about my account, I will be able to see if I can alter anything/work with the bug tracker.

Until next time...

Wednesday, February 2, 2011

TOS Ch. 5: Freeciv project

Our assignment for this week was to visit the Freeciv page, download their code, and follow the Building instructions given in Section 5.4 in TOS. Getting the folder and everything wasn't that difficult (even though it did take a while with all the files in the folders). The difficulty came in when I started the building process. The text walks you through how to do everything (including dealing with errors that come up), but I found myself getting errors that weren't explained in the text and solutions that were given that didn't work. One thing the text mentioned that I had to go and do some research on is the idea of 'root' vs. regular user. To install a number of the things needed to configure the file, I had to figure out how to become the root (command line sudo -i ). In the process of installing everything, I would keep getting messages like 'No package so and so available.' and 'package so and so is not installed' even after I would have them installed. Sometimes I would also have to use the Synaptic Package Manager in order to install packages as opposed to terminal. Even though I kept getting these messages, when I went to go configure everything, the one thing that was missing was something the book didn't mention at all (libcurl development files). I tried installing it in terminal, with no success, so I then went into Synaptic and tried to install it myself. Everything I needed was there, but it wouldn't let me actually download it. So I went back to try terminal again, as the root this time, and typed sudo apt-get install libcurl4-gnutls-dev and tried to configure again and it worked beautifully. After that, all that was left to do was make the file and make sure everything was working (as the instructions in the text illustrated). I didn't have any problems making or running the project. Being that this project is written in C and the project I worked on last semester was written in C, it made it a littler easier to understand what was going on and how to fix problems that the text didn't account for.
Also, for an update pertaining to my team's issues with building and running our project, we heard back from Jon and found out that we were indeed missing some files. He told us what we needed to do but not how to do it, so I did some research and I think I may have found what I need to do to get the code to build/run in terminal. Don't forget to keep track of my team's work as well on our team wiki, where you can find more detailed reports and information.

More soon...