Thursday, March 24, 2011

POSSCON!

Well good news at last! I have my Ubuntu system back up and running; the project is even all setup. This is great news because now I can get to playing with some code. I believe all other members of our group have the project setup as well so our project should start moving forward again. Most had a slight hang up setting up the Banshee extensions project.

POSSCON is coming up shortly, tomorrow actually. I am excited to go to this conference. This should be a cool experience. I have found two workshops that I am interested in on Friday, the 3D printing and cheap business startup workshops. I am also interested in meeting David Trask. Below are some questions I have to start off our conversation.

Jim McCracken - 3D printing
I read an article the other day regarding 3D printing. The article was about a 3D printer that could replicate itself, a fully functional copy. I thought this was amazing! I had no idea there were printers out there that could manufacture electronics. The article went on to say that in the future they predict each household will have a 3D printer. If a part breaks on one of your household goods, just print out a replacement, a fully functional replacement! Wow! So I plan to ask Jim about his familiarity with such hardware, because I am really interested to learn more. If he is, how far off does he believe this technology is from being available for household use?

David Duggins - Starting a business for cheap
My father owns a networking and computer repair business. This is where I had some of my first experiences with computers and that is what got me interested. I wanted to give some back. He does strictly networking and repair, he used to program but has lost it because of not using it nor keeping up with the changing technologies. Therefore he does all his ticketing by hand. Tickets are very expensive and the process of manually entering tickets is time consuming. So I began programming a ticketing system for his business. I have the database built and am working on the interface and functionality. I am able to add and remove info from the DB through decent looking web pages. I have also begun to incorporate some reports but I still need to do much more before it can replace his current system. Unfortunately I do not have a lot of time to dedicate to this task right now and I have been working on it here and there. I would like to know if there is some sort of open source framework for something like this out there available for modification. If so, can he recommend one or several to look into?

David Trask - Open Source tools for teaching
I have a nine year old daughter who loves to play around on her laptop and catches on to things I show her very quickly. I would like to get interested in programming. Just to introduce her to the field of computer science at an early age. I would like to ask what open source software he would recommend for this situation?

Well, off to bed now. I must get up early to make it downtown by 7:15, it is a 45 minute drive. I’m picking up Brittany in the morning and we are riding to the conference together. Should be a fun and informative trip!!! Night all!

Monday, March 21, 2011

HDD isuues

So I am kind of upset right now considering the fact that I am reloading Ubuntu right now on my laptop. I was very close to finishing the initial setup of our project when my computer just shut down. When I powered it back on my second HDD, the one Ubuntu is loaded on, would not show up in the boot manager. I removed my primary HDD and replaced it with my secondary, forcing my machine to boot to it. Ubuntu came up but immediately shut down again. Again I pulled the HDD out and noticed it was abnormally hot. Figured it was a bad HDD. I let it sit for a bit to cool down then replaced in the machine and booted again. The OS came up but acted funny. I could not connect to the Internet but the Internet works fine on other machines in my house.
I don’t know much about troubleshooting Ubuntu network problems but I suspect the HDD anyways. I have a spare HDD so I slapped it in real quick and began the reinstall process. After the install finishes it is back to square one with setting up our project. I am very familiar with the setup by now though so hopefully this will not be too big of a set back. This is still frustrating, I have a ton to do right now!!
My machine is coming back up right now. Back to work…

Tuesday, March 15, 2011

Return from break... :-(

Well we are back from Spring Break…ugh! The break was very enjoyable though, spent much needed time with my little one! The break is over though SO……time to get to back to work!

Even though we were officially on ‘break’, I could not resist working on our project just a bit. My main concentration over break was to finish up our initial bug fix. There were a few locations in the code which the developers preferred we did not change, these name changes were causing issues elsewhere since we did not create the ‘migration path’. I was working on making the necessary changes back to ‘banshee-1’ but was running into troubles getting the project to build after making the requested changes.

After some back and forth with the developers on this topic, I guess one of them decided it would be easier if they made the needed tweaks. So he did so and thanked us for all of our work. I am not disappointed at all about his help because it allows us to fully concentrate on our Facebook extension, which will be a bit more exciting of a task.

Before break I mentioned that Jesse sent out an email to the developers announcing our project selection. We received very positive feedback from this email. We received replies from some excited contributors as well as an offer for assistance, which we gracefully accepted.

One of the main developers offered to do the initial setup of the extension for us. I was really stoked about this because this allows us to focus our efforts solely on the functionality of the project and not worry about setting up the extension within Banshee. All this is taken care of already. We have a base extension setup that looks for C# bindings and the gwibber library on the startup of Banshee. This is a very nice jump start!!!

We also have a rudimentary timeline established for our project. We listed some main functionality and associated them with dates to serve as a base guideline. This may need to be tweaked just a bit but it is a solid start.

The next order of business is to establish our backlog. Once we have this established we can assign jobs and get into our sprints. We have decided to make our sprints only a week long instead of a month, which is the suggested amount of time specified by the SCRUM guidelines.

Besides all of that, team stand-ups are going well. I have found these to be very effective. It is a nice way to keep track of what everybody is working on and there upcoming plans. Also, you can tell when someone has been slacking because they have nothing to talk about when it comes there turn to speak. Basically, these stand-ups force people to do something before for the meeting so they have something to talk about, even if it is just a little, as well as have a plan for what they will be working on. I like that!

One more bit of good news. We already have a gwibber window that posts updates to your desired social network. So we can bring up a window, outside of Banshee, type a message then send it to Facebook. Of course we need to figure out how to do this while interfacing with Banshee but we are very much on our way in this project!

Monday, February 28, 2011

Gwibber success!!!

Success at last!!! Finally was able to get the Gwibber library installed along with its long chain of dependencies. I was able to accomplish this without any help from the mailing list. I'm proud of myself because this setup has been one of my biggest challenges yet in this project and I worked through it. It was a frustrating couple of days but persistence paid off in this one.

After many failed attempts I decided to remove all of the libraries I installed and start over. I ended up running 'apt-get auto-remove' as well to clean out unused packages. That removed a lot of things, I was kind of nervous doing this but I rolled with it and it payed off. I did have to go back and reinstall a few 'accidentally' removed packages because of this command.

After that I went through the process of obtaining all the packages one more time and was able to get it installed. On my last attempt I did try something different. Instead of using 'apt-get' to install most of the packages, I installed each dependency by downloading the source code. I then compiled each package and installed. This way I was able to make sure all the dependencies for these packages were there. I noticed I had to install several things I do not remember getting when installing the packages through the package manager. Maybe they were automatically added but whatever, the last time worked!

So after getting the libraries installed I set up a project solution and created a small test program that prints to the console using the Gwibber library. It worked...Awesome!

Next up is our time-line for the project. We already have our project picked out, you can find it here. Now we just need to hash out a reasonable plan to complete this thing.

Oh...I just seen an email pop up. Jesse just sent out an email to the lead devs announcing our project selection. Exciting!!

Friday, February 25, 2011

No Gwibber yet

So I read up on the CFLAGS. Although I'm sure this will be helpful information for future reference it was not quite what I was looking for to solve our problem.

I hung around in the Gwibber IRC for a bit after asking my question. I also continued to play with installing the Gwibber library but did not get anywhere nor did I receive any other helpful tips in the chat room. I decided to ask one more question before I logged out, “Where can I find the Gwibber API?” The answer I received disappointed me, “There isn't one.”

This response has made me rethink our initial plan to create an extension using this library. It could a pain using a library with no documentation. I will discuss this with the team later but for now I am going to send out an email to the Gwibber mailing list to see if anyone out there in the Gwibber world can help me with tis error.

Thursday, February 24, 2011

Jinxed...

So I jinxed us last night when I stated that we have had no major hang-ups yet. Our first hang up has just occurred. We are trying to get the Gwibber library installed and are having problems finding the proper dependencies. After much trial and error we think we have all the dependencies but are running into a strange error during the make process. Here it is:

service.c: In function ‘_dbus_handle_service_interface_loading_started’:
service.c:1365: error: unused variable ‘reply’
service.c: In function ‘_dbus_handle_service_interface_loading_complete’:
service.c:1376: error: unused variable ‘reply’

Even more strange, initially this error was stemming from a couple lines in the 1200s. We ran make clean and tried make again and now these errors are occurring a little further down. Unfortunately the make clean command did not work for these. We have also tried commenting out the variables in the code but it generates a whole other set of issues so it appears these variables are being used???

We Googled this error but it returned nothing at all. So I decided to get on the Gwibber IRC channel a bit ago and post a question, hoping someone had seen this before. I did not receive any direct help to the issue but several people came back fairly quick with links to sites that may be helpful.

http://en.gentoo-wiki.com/wiki/CFLAGS http://www.cs.colby.edu/maxwell/courses/tutorials/maketutor/
Title: CFLAGS - Gentoo Linux Wiki (at en.gentoo-wiki.com)

Getting ready to check these sites out now. These guys seem to think that ignoring the errors will work. Before posting the question I already tried running make with the -i flag and it did not work, the make process failed. I do not know what CFLAGS are so I am about to find out. Hopefully these will help!

Report on my findings later....

Wednesday, February 23, 2011

Missed me??!!

Wow! It has been a while since I have been here. Sorry for not updating more frequently but I have been REAL busy. Just because I have not been on here much does not mean I have not been working away at this project, I have been very active! Let me bring you up to speed on our project.

Our team's moral is high right now. Our project is moving along nicely and we have not had any major hang ups yet. I didn't really expect any but you never know, and it sounds like others are having some troubles. Hope it continues this way until the end of the semester, my fingers are crossed. Our team has meshed nicely. No major issues between us to report and everyone gets along and works well together. That is a big plus! We do have a few members that are dong a little more than others but we have met on this topic and addressed the issue and feel we have it under control. We are excited by our success so far in this endeavor and are ready to close out strong with an interesting addition to the Banshee project.

We are leaning towards a Facebook extension for Banshee. The lead developers mentioned this would be nice to have so we thought maybe we could tackle another project they were trying to throw our way, much like the bug fix they recommended. It may be a bit much to try to finish in the short time we have left in the semester but we are not for sure. Jesse is checking with the developers right now to see how big of a project they feel this will be. Although even if we cannot wrap this extension up by the end of the semester, we can establish a solid foundation and some main functioning that will give others a platform to build off of. We may become involved enough to see this thing through even after graduation.

While Jesse is doing that I am doing my part by looking through the code of some of the other available extensions to see if I can get an estimate of the complexity based on these other modules. I will report back on this later after I have some more time to look through the code.

So what else...

Well, our team made a solid contribution to the Banshee project recently. You can read all about it here. We made many changes to filenames and code to reference 'banshee' instead of 'banshee-1'. It may have been a little grunt work, but it was much needed grunt work as the 2.0 release of Banshee is schedule for April. We are satisfied with our work and the developers are thankful towards us for tackling this for the project.

My last blog posting left off with the Chapter 6 homework. Well I completed Chapter 7's tasks earlier so I might as well add my thoughts on those exercises.

7.2.2

This was a very simple exercise. It just had us experimnet with the 'diff' command. The command without the '-u' flag prints only the line or lines in the file that were changed. With the '-u' flag there is much more information shown on the screen. The number line of the code plus the surrounding code for reference is some of the information that is displayed. This is very helpful for locating the changes in the files. I know because I had to find locations of changes in our project based on these files .

As I was saying, I was already familiar with the patch file before this exercise. I was using a diff file to implement our fix and had no idea. There were many similar changes that were previously tracked so I used these tracked changes to make my own changes. Wish I would of jumped ahead and read this chapter first, it would have made interpreting the patch file a whole lot easier in the begining.

7.8

Was not really successful with this exercise. I was unsure of what they mean by comparing dev/null. I tried to diff this file with the 'foo' file but it returns the message 'diff: dev/null: No such file or directory'. I was not sure about this question so I moved on and will ask the professor about this one later.

7.9

The last exercise was more straightforward than the last. There was a tutorial with the needed commands listed. I downloaded the source code, changed the specified file and created the patch. Very simple process. We just did this process when submitting our own patch to the Banshee project. We used a git patch though.

Well I guess I will finish up with our plans for the upcoming week before Spring Break. We are waiting to hear back from the developers with their thoughts on us taking on this project with a only a couple of months to finish. As I said earlier, Jesse has been in contact with them regarding this subject. In the meantime, I am scouring the massive bug list for other possibilities in case something does not work out with the Facebook extension. I have asked the others to do the same and bring couple options to class on Thursday. After we make a choice on a final project we will hash out a reasonable time-line for reaching our goals.

Well that's it for now. Going to do some actual work on this project now instead of just talking about it. Cheers!!!