Chris Peterman
MP451: Open Source Projects
Credits: 1
Professor Jeanna Matthews
End Of Semester Writeup
12/08/07
Though it was a very late add, I am taking MP451 for 1 credit this semester. Among the projects I worked on were maintaining Mirror, participating in the 3rd IBM Master The Mainframe competition, and experimenting with a Mac for the very first time (though that is only half open source..). So lets knock this thing out!
Mirror
The biggest project I undertook this semester was assuming control of mirror.clarkson.edu. This process was actually started this summer when I began to help Jake and Zach with managing the rsync scripts. Then one day I was told I was in charge of mirror. The irony here is that I have been eyeing mirror (as in wanting to be involved with it) since Sophomore year. So what I have been doing with Mirror? A lot really, but most of it is behind the scenes. When I got a hold of mirror, the rsync scripts were a mess, and Zach was just finishing the connections between the new ATA Over Ethernet (AoE) disk that would hold the mirrored things (AoE is something that I still don't really understand...) so we had a lot of duplication going on, and I don't mean the good kind. In addition all the mirror scripts were kinda individually written and there wasn't any kind of “standard” between them. So the first thing I did was to sort everything out and get them off the raid. This meant figuring out what was pointing where and what scripts were putting things. A mess and a half. So the first thing I did was copy as much as I could over to the aoedisk. Then I restarted the rsyncs so we would have recent copies of things, and added ArchLinux to the mirroring stable. Things were good until I tried to get Fedora. Now, we have about a TB of space allocated to mirror, which would probably fit a lot. I mean ArchLinux comes in at about 20-30 GB (liberal estimate), Ubuntu and Debian come in at about 150 GB each. You'd think Fedora would as well. Not so...Fedora's wiki states that it's mirror is about 860 GB and growing. I had a problem. Either we only mirror Fedora, or we ditch it and mirror a lot more. So I took the other option and opted to mirror a bit more. Granted I also cut a lot of things from the mirror list by vote. So I cut a lot from the mirror list. In the end we wound up keeping Ubuntu, Arch, and Kernel.org, with Fedora pending. With that out of the way I was free to standardize the mirror scripts, keeping them in a new directory in /etc and using a basic template for all of them. This has made them much more portable, and it makes it easier to make new ones. I also wrote a cronjob to rotate the logs from the output of the mirror scripts every month, since logrotate isn't sophisticated enough for what I want. Finally, as a finishing touch for this semester, I added a frontpage to Mirror so you don't see that ugly dir_index generated page. I also started up the rsync server so that people can mirror from us if they want to. Most of this is documented on docs.cosi.clarkson.edu. By next semester I plan to have all of Mirror documented there. Speaking of next semester, I have plans for mirror. One big one is a complete rebuild of mirror. Right now there is a lot of crud on there from who knows where. Instead of working through and removing everything we don't need, I'm going to work with Zach to rebuild the image from scratch using ArchLinux.
OS X 10.5 Leopard
Earlier in the semester I finally got my hands on a Mac to play with and experiment with. Just in time for the newest thing coming, Leopard. Now Leopard is partially open source. I say partially because the kernel, Darwin, is Open Source; but the stuff on top like Aqua isn't. Safari's rendering engine, Webkit, is Open Source, but the rest of it isn't. You get the idea. So how does this Unix system stack against Linux. Well, everything “just works”, which isn't surprising considering Apple controls the hardware. It also kicks the tar out of anything I have seen in the eye candy department, at least until KDE 4 comes out in January. So what I have been doing? Well, I started getting into writing widgets for the Dashboard, and my very first one was a widget that acts as an RSS feed reader for Planet COSI. You can download it at widgets.azuredreams.us
IBM Master The Mainframe
Yes, fall for the past three years has meant that it is time for IBM's Master the Mainframe competition. As is known, the past two years I broke through Phase 2 to win an iPod Nano and a t-shirt each time. Last year left me with an allergy to COBOL. This, coupled with the Internet going down for about 4 hours, would sap my enthusiasm for the contest and leave me not completing Phase 2, though I did complete Phase 1.