OK, I kind of baited you because there are no pandas in this post but there are Pandaboards. I finally broke down and bought myself one. I see great things here. The pandaboard is in the bottom left hand corner and is booting Android on the monitor in view. The pandaboard is powered by a TI OMAP4 processor in concert with a PowerVR GPU. You can read all about it at the above link.

I am trying to work through the current bug pile for F-Spot. Some of these bugs go way back (2004!) and are likely invalid. At the moment I am focusing on the newest bugs since they will likely yield the best results. I think I should start focusing on the low hanging fruit for 0.8.3. So I am trying to confirm bugs, triage them a bit and set to work on some.
A while back I worked on the SmugMug Exporter and got it working with a new library (SmugMugOOModel). I never got it working to a point where I was ready to push it into master. And I am actually in the process of making the exporters available in an external repository so they can be updated separately and more frequently than the core of the application. So I’ve made the SmugMug Exporter available in my repository. You can find the source here. It may not build because my first stab at submodule layout may not have worked out perfectly but all the source is there and should just require some reference updating. This is for F-Spot 0.8+ (Core 0.8). I’ll be curious about experiences.
A while back when I first started hacking on F-Spot I created a dead simple add-in as a place where I could try code out but also I was trying to get to the bottom of some problems I was having with photos and metadata. While the code is in github there was a request to make it available and I figured the easiest way to do that was through an add-in repository. I fixed it up a bit to make it a little more helpful and you can find the latest code here. That code matches the add-in found in the repository located at http://timothyhoward.org/repo. Through F-Spot you can go to Edit->Manage Extensions and click on Repositories. From there you can add my repository. Once you’ve done that you can click on Install Add-ins, Refresh and the 0.4 release of Debugger should show up. Again, it’s nothing special but it might be helpful particularly if you’re trying to isolate some metadata issues. It’s been long abandoned at this point but I got it into a working state because a commenter requested it. So there it is.
I would like to get F-Spot to a place where a lot of things that are packaged with it now are actually retrieved via an add-in repository. I think this would give us a lot more flexibility to make minor updates to those separate from rolling an entire new release. Look for those changes soon, I hope.
Admittedly I do not know a lot about what happened in Egypt other than what I could glean from BBC while I was in Brussels at FOSDEM and the GNOME+Mono Hackfest. I just know that overwhelmingly a mass of people decided that they wanted more control over their lives and specifically the government that tells them what they can and cannot do.That is an amazing site to behold, even from afar. It is interesting to hear the media in the U.S. (you know who you are) speculate about the possible outcomes with a democratically elected government in Egypt. Will it be hostile to the U.S.? Or will it continue to be a strong ally? I suppose anything is possible but I say the risks are most definitely worth it given the miraculous events that have happened. At any rate I’m wading into territory I have no business commenting on.
I just felt compelled to openly marvel at the community of which I am a very tiny, insignificant – but still – part. I am continuously astounded by the dedication, drive and cleverness of the thousands and thousands of people who contribute to the open source community. Is it all free (as in beer)? Perhaps not. Is that OK? It is by me. But a lot of the time it is both free (as in beer) and free (as in speech) and that’s also fantastic (it took me a long time to even understand that distinction). But the idea that some of that software helped those inside Egypt communicate with the outside world, organize and continue their cry for freedom is astounding. I didn’t have anything to do with that software directly but I’m honored to be part of an ecosystem that values and praises those sorts of free contributions. Besides maybe someone in Egypt is rocking F-Spot 0.8.2 and if that’s the case then I’m proud to have helped (in a very small way) make that possible. Also- I’d love to hear about it if it’s true.
There’s a certain feeling in the air (is it just me?) that 2011 is going to be a great year.
I have heard of the awesomeness that is the Mono C# Shell but have had little time to check it out. While sitting in the airport today during my 8 hour layover (that will teach me to pay attention to the return times as much as the departure times next time) I took a few seconds to play around with various “toys” on my computer. While checking out the Mono C# Shell I stumbled on the “Attach to Process” functionality. Immediately my mind began to race about what this could mean. Could it mean what I think it could mean? I started feverously typing, “using FSpot; App.Instance.Organizer.SetViewMode(FSpot.MainWindow.ModeType.PhotoView);” Tabbing over to the running instance of F-Spot my eyes could hardly believe what they saw. F-Spot had indeed obeyed and switched to the PhotoView for the currently selected picture. Now that my friends, definitely qualifies for the awesome column. Bravo Mono team, bravo.
Well it’s no full blown effects system but Soft Focus is now based on code from Pinta. After spending a week working through the C code it just wasn’t fast enough (the ported C# code that is). I turned back to Pinta to use its Gaussian Blur because it seemed to be relatively fast and I was able to make it work with the Soft Focus for F-Spot. At the moment I am staring at the Sharpen code trying to get it to work with the Gaussian Blur from Pinta. I know I am pretty new to this but it’s really frustrating when calling code in seemingly the same exact way produces two different results. My flight out is in the morning and it has been a hell of a week. I am anxious to get back and continue improving F-Spot. I need to start putting pennies in the bank so I can come back to http://www.fosdem.org/2011/ next year. Thanks again to the GNOME Foundation for making a week of GNOME+Mono hacking possible.
So after doing some initial work to get Pinta.Effects to work for F-Spot I have decided to abandon that approach. I have ported most of the source from libfspot to C# instead. It would have been nice if the Pinta.Effects code was more drop in possible but as it is I don’t want to maintain a version of Pinta.Effects separately for F-Spot. The soft focus effect is working in C# with one minor bug and the sharpen effect is close. Once that’s done we can jettison libfspot completely. Then we will also set out to see if the effects are being used in F-Spot at all. I suspect they are not.
I was also having a really weird issue where I would get a System.DllNotFoundException on libgdk-2.0-0.dll when trying to test the sharpen code. But it seemed to only happen some of the time. With some help from Jérémie and Alan we realized that the project for Monodevelop was generating one of the assemblies with the wrong name. That assembly did not have a proper dll.config and as such would cause the problem. However, if you did a clean make and ran it things were fine. So I’ve corrected that issue as well. It’s still quite weird that I am just now running into that.
Last night I had a really good idea. Ok, so it was Ruben’s idea but I’m doing the work so I’m pretending like it was mine. The idea was that if we could leavrage code from Pinta for effects in F-Spot we could probably eliminate the dependency we have currently on a bit of C code we’re lugging around. This would improve F-Spot in two ways: reduce the amount of unmanaged code and make portability a lot simpler. Since it would improve portability it would be a good step toward completing the Windows port. So that’s what I spent the day working on and I believe I’ve made good progress. I haven’t slept much in the past 36 hours with FOSDEM, the Super Bowl and hacking and I don’t foresee the situation improving but that’s what a Hackfest is all about as I see it. I need just enough sleep to keep a clear head and not a second more.
So I met a cadre of great people tonight. The Mono DevRoom at FOSDEM was great thanks to our host Ruben. A lot of the people still hanging around after it was all said and done went out for food afterwards. And then we followed on to the GNOME Beer Event which was full when we got there. I hope I can get my shirt another way. It’s great to put faces with a lot of IRC usual suspects