Thursday, February 3, 2011

Freeciv

Got a bit of a late start on this task because of Ubuntu issues (again).  This is the second time I have somehow disabled my Ubuntu installation by running the Update Manager.  I think I will ignore it when it pops up from now on. 

Once I was able to uninstall and re-install Ubuntu, I started the process of getting the code and building Freeciv.  The TOS book spelled out the instructions in detail, but apparently they are for Fedora, not Ubuntu.  This didn't cause too much of a problem because most of the differences were easy to find by searching for them on Google.  I was able to figure out several of the more difficult ones thanks to my classmates' blogs (Brittany Johnson and Bobby Strickland). 

Part of the lesson in chapter 5 of the TOS book was that "Sometimes you follow all the instructions, and it still doesn't work."  This chapter walks through the instructions for building Freeciv and points out where information is missing and how to go about finding it.  I found it interesting that even the TOS book seemed to have left out some information when trying to teach about it so we had to improvise.  Good learning experience. 

Sugar Update:
About a week ago, we found a bug that we thought we could tackle.  After doing some searches in the many files of code, we sent an email to the developers' mailing list in hopes that someone could tell us right where the code we needed to look at was located.  Several people responded quickly (including Walter Bender, co-founder of OLPC), and we were able to fix the bug in class and build/run with the changes to see the difference.  That was an exciting moment for us! 

I'm not sure if they will let us check the code back in.  I assume there is some sort of screening process before they let just anyone work on the code and commit changes to the repository. 

Another important lesson from this was the possible side effects of fixing this bug.  Several developers responded with concerns that changing the code might negatively affect the use of "fancy names".  Something that we assumed was relatively straight-forward and simple affects other functionality that we didn't even know about. 

No comments:

Post a Comment