Thursday, April 21, 2011

Wrapping up

Our team has accomplished most of what we hoped to do this semester. Brandon found another Banshee plugin that added an entry to the right-click menu. I was able to adapt this code to add our own right click entry. We added in the code to create a gwibber window that Jesse found. A user can now right click a song in banshee and choose to open a gwibber window from which they can post to various social networks. We had hoped to pass the song title into the gwibber window's text entry box automatically, but gwibber for C# doesn't support this functionality and implementing it ourselves has proven difficult. We have two weeks before our final presentation, and there might still be another breakthrough. In any case, we have created a plugin that many Banshee users will probably find useful, and future developers can expand upon it.

Tuesday, March 29, 2011

Posscon in review

Attending Posscon was definitely worthwhile.
It was exciting seeing the RepRap 3D printer in action since I've followed news stories about it for a long time. Neil Underwood revealed a lot of things that hadn't been in those stories. For instance, although the RepRap team wants to make a printer that can copy itself, they have realised that the magnets in the motor make that difficult.
John Diamond was very knowledgeable about Computer Aided Design programs. He also works on open source video games. At the moment, they are technologically pretty far behind mainstream titles. This is mostly because open source game projects tend to have only a few contributors, and those do it as a hobby. They are catching up, though. The primary advantage of open source game development is that knowledge is shared between projects. They also tend to develop only for the PC, which takes the complications and limitations of consoles out of the equation. I think that real time ray tracing will be a boon for these development groups, since the software involved is actually much simpler than current technology.
I also talked with a couple of people who were interested in hiring programmers, which was cool.

Tuesday, March 22, 2011

POSSCON

I'm looking forward to hearing talks from some of the biggest figures in the field of software development. Three presenters that I am interested in meeting are Jim Jagielski, John Diamond, and Steven Jackson.
Jagielski has a lot of experience in open source programming and cloud computing, which are both only growing in importance. Diamond has worked with CAD applications and open source physics engines, which have always been interests of mine. Jackson's work with genetic algorithms and data prediction also seems interesting.

Banshee continued

Our first submission to the Banshee project was largely successful. The main developers wanted several locations in the code that referred to "banshee-1" to be changed to "banshee" without breaking anything. With a bit of help, we decided how to handle each instance and submitted a patch. The patch has been reviewed and incorporated into Banshee.
We are now working on an extension using Gwibber that will allow people to post statuses to Facebook and other social networks from within Banshee. By default, these statuses will contain metadata for a selected song. In addition, the user will be able to edit the message before it is posted.
I know a lot of people who use both Banshee and Facebook. It is interesting to think that I might see this extension we are writing in use.
For the last few days we have been struggling to set up the project, but the issue has been found: In some builds of Banshee, autogen.sh was still looking for "banshee-1". Apparently the switchover caused a few problems. This has clearly demonstrated the point that even small changes can be hard in a large project. It seems challenging to balance a "design first and code second" philosophy with the rapid iterative development that agile processes call for. I imagine that most large projects require difficult revisions from time to time.

Wednesday, February 16, 2011

The Cathedral and the Bazaar

The situation that Eric Raymond describes in the beginning of his essay seems familiar: A programmer becomes interested in enhancing some small aspect of a project and eventually winds up involved in the whole thing. While his story about his own development strengths and weaknesses and the charisma a leader has to have to get a project going is somewhat interesting, the later half of the essay is more so. It describes how once a project reaches a critical mass of developers, people will code for it because they enjoy contributing something to the community. While each individual programmer may want to work on a certain problem that interests them, I think the desire to contribute ensures that they also work on whatever part of the project needs attention. I think that the essay accurately addresses, in broad terms, several important principles that make the open source community work.

Working on Banshee

The first order of business after selecting Banshee as our project was to log into the IRC channel. There seem to be between 50 and 70 people there most of the time. There usually isn't very much conversation in the main channel unless someone asks a question, but then people are quick to answer. It is good to know that they will be available to help us as we get acquainted with this project.

The mailing list also seems very active, with a few new messages almost every day. The messages are usually about new bugs that have been found or progress on fixing old ones. It is encouraging that there seem to be lot of developers making substantial contributions to the project.

Thursday, January 20, 2011

Banshee

In the last class my team decided to work on the program Banshee, which is a media manager and music player. It is written in C#. I have some experience with C and have begun studying how C# differs from it. Banshee has an official IRC channel and an extensive bug list, which should both be helpful.