Wednesday, April 20, 2011

Last Blog Posting...

Well I never thought this day would come, the semester is coming to an end I will finally be graduating!! Super stoked!! It has been ALOT of hard work but well worth it. Since tomorrow is our last class this will be my last blog post for this class. I may continue this outside of class though...you never know??

This semester has been a great learning experience for me. Getting the class involved in open source projects is a great way to introduce us to real life tools and real life software. These large projects are complex and totally different than the little programs we have tackled before. So I am very thankful for this experience this semester!

Our project was moving along nicely until we ran into a snag at the end with loading the text into the Gwibber window. Apparently there is no straight forward way to do this. We have even been in contact with a Gwibber developer , Ken VanDine. He has provided several suggestions but none of which have worked out for us. It is kind of frustrating to be this close but stuck and running out of time...

Since we are running out of time, Jesse has created a basic window that posts to all social networks that are setup in the Gwibber social client. If we could get the Gwibber window to work, the user would have their choice of which network to post to. We have not given up quite yet though. We will keep chipping away at this up until our presentation. I am hoping for one last breakthrough...

Our team has set up it's rough draft for the presentation all written up. We still need to create the Prezi though. Jesse and I will be talking about the experiences portion of our presentation and Shaun and Kyle will handle the introduction to the project and software libraries that we used. We will also have a demonstration at the end of our presentation as well. We are going to show our plug-in in action by posting to Facebook from the Banshee media player. Neat!

Well that will wrap it up. Time to post this then print out my blog for school records....ADIOS!!!

Tuesday, April 19, 2011

Update to my update...

Well my last posting I typed up a bit ago but did not post until today. A few things have changed since then...so I will update my previous update.

Well I have tried several different times to contact the LibGwibber developers via email and IRC chat-room but no responses on the GetClipboard function. Bummer...I was hoping this was the answer to our problem but I cannot figure out how to use it properly with no documentation on this code.

So Jesse has created a simple GTK window that allows us to pre-load text but we cannot control what social accounts to post because the provided function for this is not working as expected.

I am going to keep working on this part of the project because I really want to be able to use the Gwibber entry window but I do not know if anything will come of it...my fingers are crossed.

Our team also ended up getting a poster together...thanks to Shaun. He really grabbed this side project and ran with it. He produced an awesome poster and is going to show it Thursday. I really appreciate the effort he put into that! Again, the poster he made is impressive!

Well...class is wrapping up. Today in team meeting we discussed our window problem, still no break throughs, and came up with a rough outline of our presentation. We broke up the parts of the presentation to work on and will bring them together to form our rough draft. I am going to work on the 'Experiences' section along with Jesse...and keep chipping away at out pre-loading text issue until we have to submit what we have.

Cheers!!

Update time....

As I mentioned in my last blog, I was going to browse through the available Banshee extensions to find ones that had similar functions to what we are trying to do with our project (right-click menu option, entry window, extracting current track info, ect...). This is exactly what I did. And as expected, or hoped, it really paid off. I was able to find several extensions that implemented the different functions that we were looking to do in our extension. After studying the code for these extensions, some late nights at the computer and a couple group meetings we are very close to wrapping this thing up. Here is the breakdown of our progress, which has really taken off in the past couple weeks.

The first breakthrough was the right-click options menu. We were able to get an option to appear in the right-click menu when clicking on the current track. All of this happens only when our extension is enabled of course. This break through was very important because it gave use a starting point, which is what we were struggling with.

So how did this happen. I was able to locate a LastFM extension that created an option in the right click menu, exactly what we where looking for. So I tracked down the code that performed this function and tailored it for our project. This code even included an event handler that listened for the click of the option button. Perfect! Everything looked like it should work but no option in the right-click menu after compiling he source code. I was not exactly sure why so I brought this to the next team meeting. With a little bit of teamwork we were able to figure out that there was an xml configure file missing that we needed to create in our project to tell the option where to appear. It is pretty cool, we can make this option appear in other places just by specifying it in the xml file. Currently we have our option showing up in the right-click menu and the edit tab on the main tool bar.

Our second break through came about via Jesse. The code I provided for the menu option was a bit messy from me playing around with it. Jess took this code and cleaned it up and in the process added the code for the entry window. He was able to get the event handler to call the window code. So, when the right-click menu option is selected by the user our Gwibber entry window pops up, as needed.

Our latest breakthrough was the ability to grab the current track metadata (artist, song title, album title, ect...). We are able to store the values in string variables. I think Jesse said he had figured this out before but I found a different namespace that provides similar methods for this. SO by placing this code that extracts the current track metadata in the event handler allows us to grab the current track info on the option click. Getting very close!!!

Finally after all that, we are left with one task. Pre-load a formated string of track metadata into the Gwibber entry window. This is proving to be a challenge since there is no direct method for this and there is no extension available with such function. Each of has come up with a different way of attacking this problem. Hopefully one will pay off.

Jesse has been in contact with one of the developers trying to figure out a of doing this. Not sure on the details but I think it involves overriding some sort of event handler to accomplish this. He is going to look into that further.

Kyle thinks that he an create a new class that inherits from the gtk enrty window which will include a setText method. This would make things very easy if he could pull that off.

I found a getClipboard method that is provided by the gwibber entry window. I am not sure how it works but I have been trying to figure that out. It requires that you pass it the type Atom but I am unsure what this I am reading up on this type and I have emailed the gwibber mailing list in hope that someone can shed some light on this method or maybe a better way to pre-load this text.

Guess I should mention what Shawn has been doing as well. He is supposed to be getting a poster ready for the poster contest. The abstract is due Friday and he says he will have this done. Hopefully he follows though on this!

Well that should catch us up for now. The semester is coming to an end quickly so I would like to wrap this the project up so we can submit a patch and look towards our presentation. Exciting stuff!!!

Monday, April 4, 2011

POSSCON experience and project progression...

Well looks like I have some catching up to do...as usual. Sorry Dr. B. Just extremely busy lately and I get this in when I can.

So POSSCON was a cool experience and I would recommend keeping this trip going in the years to come. The presenters where interesting people with lots of information to share. Lunch was good as well, I ended up having seconds! I had plans to speak with some of the presenters at POSSCON and was able to do so as these people were readily available and willing to speak with the conference attendees.

The first workshop that I attended was hosted by Jim McCracken and Neil Underwood. These guys hosted the 3D printing workshop, which I found really interesting. So interesting that I am looking into buying a 3D printer off Ebay to play around with. I think my daughter will enjoy designing little objects and then printing them out. I think I will too, hahah! Just another way to get her involved with and interested in computers. I am trying to mold a little computer whiz!

So my question to these guys was, “When do they think this sort of technology will be readily available for household use?” Mr. Underwood tried to convince me it is here and ready now. But after their demonstration and watching the configuration process I realized that it is clearly not. The configuration process is lengthy and a bit difficult for the average user. I mentioned this and they agreed that it was still a few years off for the technology to be user friendly enough for the average person.

Another drawback to this process is that the printer creates these objects but you can clearly tell they have been printed. The printed objects are covered in ridges. This could cause a problem if trying to produce a precise part. The solution to smooth the ridges is expensive so this is another reason why it is not quite ready for household use.

Although a breakthrough has been made very recently. So recently that the guy who made the discovery has not released his technique and no one is sure of how he is doing it. He has created a printer that prints so finely that there are no ridges. This is what I would expect the hardware to do if it is going to be made available for houses. Seems that it is on its way.

The second workshop I went to was hosted by David Duggins. This one turned out to be somewhat of a disaster but I did get some helpful information after the workshop. The priority of the workshop was to show the audience how to set up a workstation, using FOSS, free of charge. Great concept! He wanted to start out by showing us how to setup Linux, this is where he hit his first snag. There was intermittent and slow Internet connection so he could not download the setup files, it was going to take a very long time. So he decided to show us how to setup open source programs, that he was going to setup in Linux, in Windows but he was missing dependencies for many of programs on his Windows machine. A little preview of how this show was about to go down.

So he decided to set the programs up on his Debian machine, but it would not startup and kept crashing after a kernel panic. After about forty five minutes of floundering through failed setup attempts David called a break and we resumed about 15 minutes later. Nothing improved though. He stalled for a bit then revealed he had no further plans so we broke into a question and answer session then he called the workshop. Several people stuck around to ask more specific questions and I was one of them. I had to wait for a bit but I get to ask him about some FOSS options for my father's ticketing system. He mentioned two in particular, GLOM and SugarCRM. I am going to look more into both of these applications when I have some time. Just by talking with David though I feel one of these will do what I am looking for.

David Trask slipped through my hands. I wanted to make it over to the end of his workshop but did not make it after speaking with David Duggins. I was somewhat disappointed by this because I was going to ask him about FOSS software for my daughter to use because, as mentioned before, I am always looking to teach her new things using a computer. I was able to get his email from the program by scanning his bar code, handy, so I am thinking of emailing him instead. I did see him passing a few times and he seems like a really nice guy.

I'll mention our project progress to finish up. Progress on the plug-in is coming a long but is a bit more difficult than expected, as I suggested it would be. The project is very large but we are figuring things out. There are plug-ins that require the same functionality that we require so right now I am going through plug-ins code and trying to implement the same thing they have done.

I have found a plug-in that implements a couple of the functions we need. Hopefully this will prove useful! I think I am close to getting an option for our plug-in to come up in the right-click menu. Clicking this menu option will bring up our gwibber window. I have also found code that retrieves the needed track information. This will be helpful when it comes to grabbing track info for the gwibber window. I think we need to pick it up a bit though. Not hearing a lot out of a few others. I was really sick last week so I have not been with the group in a while so I am not sure where they are at. Hopefully they will have some breakthroughs to share tomorrow as well.

Back to playing with the project for a bit then bed, night!