Thursday, January 23, 2014

Joining the Project

     So this has been a fun night of signing up for all of the different collaboration venues available to the Audacity community. This includes the forums here: http://forum.audacityteam.org/, the IRC channel using the Pidgin chat client, and the developer mailing list. I can't say it was all that eventful, but I did come across a couple of interesting things. First off, joining the mailing list was a piece of cake, just put in your email address, then reply to the activation email that they send you. I have yet to get any messages from them, and I've been on it for a few days now, but I doubt they will send too many emails. Probably only when something relatively big is going on with the project. The next thing I did was sign up for the IRC chat. This was also pretty easy to do following the directions posted on the wiki. There was one thing that didn't match up with the direction, however. One of the steps asks you to register your username so that someone else cannot choose it and impersonate you, and the way to do that is by using NickServ, which was built into Pidgin, from what I understand. As soon as you create your username, it warns you that it is not yet registered, although you can choose to ignore it. The wiki instructed me to use the command:

/msg NickServ register password

where password is the password you used when you created your username. This did not work, however. The error message said that the syntax was wrong and that I needed to include an email after the password in order to register. So I did that, and got an email with another command to paste in the chat client that contained a registration code to complete the registration. I think my first suggestion to the community is going to be to update the IRC instructions to reflect what I experienced, even though it really isn't hard to fix given the error message when you try to do what the wiki says.

     The final thing I've done tonight was sign up on the forums, which is where all the meat is. There were 16 people in the IRC chat when I logged on, but nobody was saying anything, so I started reading the forums. After I signed up, I immediately found the perfect subject to read up on: How to Compile Audacity! Earlier tonight I spent a significant amount of time trying to build and compile Audacity from the source code, but haven't yet been successful, although I think I'm really close. Audacity requires the wxWidgets 2.8.x library and a C++ compiler, CMake, to successfully build. 2.8 is actually not the newest version of the wxWidgets library, it is now up to 3.0, which is the one I downloaded, assuming it would work. Installing this library also required me to install yet another dependency, of course. So after doing that, I figured out how to install the library. Installing CMake was easy, as it's just a simple sudo apt-get install command. Now with all of the dependencies installed, I go to try and build Audacity, but it cannot seem to find the wxWidgets library. Turns out, it doesn't work with 3.0 yet, so I went and downloaded/installed 2.8, but it is still giving me the same thing. It doesn't seem to see it. Funny thing is, "Moving to wxWidgets 3.0" is on the front page of the Compiling Audacity section of the forum, haha. Once I finally get this thing built, I'm going to write a step-by-step how to so my groupmates can simulate it.

Tuesday, January 21, 2014

Foss Experiences and Reflections

     So today's assignment was to install a new FOSS program and fiddle with it some as well as read The Cathedral and the Bazaar and blog about both. As for the FOSS program, I chose Audacity, naturally. I can justify this choice, as even though it was our group's chosen project to work on, I have never really used it before, so it is indeed new to me! I think actually, at some point I have downloaded it - probably back in '07 and '08 when I ran Ubuntu as my main OS, but I didn't really do much with it. My initial findings with the program is that for one, it is not very aesthetically appealing. All of the buttons and menu selections look like pre-Windows XP styled options. Of course, this isn't really that big of a deal as long as it works, but why not make it look pretty? One of the other things that I noticed in my short little tinker session is that when you import an audio file (I used an mp3 song) and increase the playback speed, the pitch of the sounds also goes up, much like old keyboards with pre-recorded songs and a tempo increase button. I found this a bit odd, as from my understanding, it is much more preferable to keep the pitch unchanged from the original, regardless of playback speed. I supposed there are situations for justifying it, like wanting to sound like a chipmunk, but there should at least be an option for enabling/disabling the pitch change effect. It also may be that there actually is some option to achieve this effect that I simply haven't yet discovered, because it really seems outdated if there isn't - just like an old keyboard.

     The second half of the blog will be about the read, which I found delightful. It was a great contrast to the Mythical Man Month, which we read last semester. Just reading about open-source development makes me want to switch back to Ubuntu and get my hands dirty again. I used to use exclusively open-source programs and for those that I couldn't, I would use a Windows emulator (which is probably obsolete now, with virtual machines being all the rage) called WINE (WINdows Emulator) to run the programs that were Windows-exclusive which I still needed. Ubuntu blew my mind at the time, with things like multiple desktop workspaces, a ton of keyboard shortcuts, and seemingly endless addons to customize your desktop, which I loved. Anyhow, that is a little off topic from the reading. I overall enjoyed reading it very much, especially the author's experience in dealing with a (relatively) large base of contributors to his "fetchmail" program. The open-source methodology is so contradictory to what seems intuitive. Lots of developers working on the same project with high turnover seems like it would be a total disaster, but in reality, it is the opposite. Learning how debugging can be solved with a parallel approach was especially epitomic. Multiple developers investigating several different error traces to find the bug and when one will invariably find it, the others can stop tracing. The debugging time scales (logarithmically) with the amount of people debugging! Amazing!

Tuesday, January 14, 2014

First Impressions

My FOSS Preferences

Plainly, my top three FOSS projects choices are Audacity, Firefox, and Filezilla.

     I'm excited to get started this semester for several reasons. For one, I stopped working so much. I'm only working probably 2 nights a week, 3 tops, and I only have job instead of three. I should have much more time to commit to school, which is exactly what I want. Last semester is probably the worst semester I've had at College of Charleston.
     The second reason is that my group seems very excited and ambitious. I've had classes with John before, and he's a great teammate as well as really smart. Stephen and Matt also seem like great guys. When we were discussing which projects to choose, Matt through out the idea of Audacity and immediately, Stephen was stoked. Apparently he is big into audio processing on his own - he's got an idea of writing a plugin that would fill a big need that he says hasn't been done before, or at least to his knowledge. Working on Audacity also tailors to my interests. I have a pretty large musical background. I was in choir all through middle, high school, and a couple years in college as well. I taught myself how to play the guitar in high school and have been playing off and on since. I can read music, although not fluently, given time I can figure it out. Another great thing about this project is that if we succeed, Stephen says we could make money off of it, which would be awesome and a great resume builder.

     Some of the resources for the reading today was pretty familiar to me. Everyone knows what wikis and blogs are, but I had to look up planets. It's basically a feed aggregator which displays posts from other web-blogs and internet communities on a separate new webpage. I'm also familiar with listsrvs. As I work at the helpdesk, there are several times I've dealt with them. Sometimes, when people graduate, they're email is still on the enrolled student listsrv, so they still get emails even after they've graduated. There's also listsrvs for department faculty, all faculty, certain student body groups, among many others. They are incredibly useful when trying to communicate to a group of people.