Wednesday, January 29, 2014

Free Civ Building and Team Update

This post is coming in at an awkward time. It is currently snowing in Charleston, SC - a rare sight. So rare that the computing resources on campus for the computer science department decide to go out at the same time (not sure if it's related since there have been emails about transformer issues). Regardless, it has been a frustrating couple of days because my personal research is MIA because of this transformer issue and it is impossible to check assignments on the CS sites and I am having to rely on word-of-mouth from fellow students to figure out what I should  be doing outside of the obvious.

So for this post I will be reflecting upon chapter 5 of Teaching Open Source as well as giving a short update on my team's work.

Teaching Open Source: Chapter 5
Again, this chapter starts from an early knowledge stage when it comes to open source software. For example, the chapter explains how a large codebase can be manually built, tested, and used to form an executable - an important concept. The step, I feel, that most people have issues with when it comes to building open source projects is that dependencies seemingly always arise. Knowing how to download these dependencies or even check for them is what becomes the most important skillset at that time. And this changes based upon languages. For example, with C, you can check makefiles for dependencies that may be missing, though not always the case. Also, the go-to solution should be checking the README for a project or checking their online documentation for building as open source projects should have installation instructions flushed out. If you still can't build software, then you still should not be hopeless. You still can Google solutions - if the project is popular enough, then you may stumble across a publicly available mailing list where someone has asked the same, or a similar, question. Say that your problem didn't come up... then you can be the one to ask that question on a mailing list (or IRC) and potentially save someone else griping later on down the road, all while fixing your own problems.

So I decided to finally install freeciv (a freeware version of Sid Meier's Civilization 2). There were a large amount of dependencies that had to be installed. The process of installing a dependency then checking what else was needed was pretty tedious. I'm curious as to whether or not there would be a way to run a configuration file that automatically found missing dependencies - I suppose that would pose a problem considering all the different operating systems and how they name packages differently from time to time. Eventually, I was able to get the configuration file to run to completion - at the end it even said "now type make" to finish the installation. I did this since the freeciv information in the Teaching Open Source book is a bit out of date. I used sudo apt-get commands where Teaching Open Source used the yum command a lot more.

Team Update
We have selected a bug, as noted last blog. We are writing up an experience report on our wiki, located here. The experience report entails what Galaxy is, what Galaxy is used for, the history of Galaxy and its members, the bug we have selected, and it will soon include a timeline of events for our group for the rest of the semester. We plan on fixing a few bugs and implementing a feature, as Jake and I have all the knowledge to add features to Galaxy with relative ease.

Music listened to while blogging: Childish Gambino

No comments:

Post a Comment