Real American Heroes: Toilet Trouble
Friends, in these tough economic times, we're all expected to go above and beyond the usual call of duty. My very dear friend Miguel regularly executes on this mantra and today was no exception.
This afternoon, he was spotted tending to a toilet emergency. Miguel went above and beyond, demonstrating his fearless leadership and improvisational skills. He has declined to comment on the matter however.

Miguel stopping an overflowing toilet
at the Novell Cambridge office.
We've yet to generate any leads in this case of backlog, but we will be setting up an anonymous tip-line. Stay tuned.

Miguel wading through toilet water in his boots
after the overflow was stopped. Bless him.
VP of developer platform & visionary by day, plumber by... day as well.
Banshee, GNOME, & Amazon MP3

During Gabriel's talk at GUADEC, after working with members of the GNOME Foundation board, we were very excited to announce that the Amazon MP3 Store in Banshee would begin using an Amazon Affiliate ID, and that 100% of all revenue generated through this affiliate ID will go to the GNOME Foundation!
This means that any time you purchase MP3s through Banshee's integrated Amazon MP3 Store, you are helping the GNOME Foundation help others.
These funds can be used in a number of creative ways that ultimately better Free & Open Source software and its communities.
We look forward to the future around this initiative, and hope that your purchases will help with things like sponsoring participants at conferences, organizing hackfests, and so on.
So what are you waiting for? Go buy some music!
Announcing Banshee 1.7.3
We're very proud to announce the release of Banshee 1.7.3, which brings some much anticipated WebKit goodness: the Amazon MP3 Store and the Miro Podcast Directory integration. Amazon MP3 downloading is fully supported, separate from the integrated store itself. There are also a handful of other smaller new features and enhancements, and a good deal of bug fixing as well.
Amazon MP3 Store
This new extension provides a source from which users can browse, search, preview, purchase, and download music from the Amazon MP3 store in all countries where it is offered: United States, United Kingdom, France, Germany, Austria, Switzerland, and Japan.

Watch the Banshee Amazon MP3 Store Screencast!
Music that is purchased through the new integrated Amazon MP3 store will automatically begin downloading and importing into the Banshee music library.
When previewing music on the Amazon MP3 store in Banshee, the previews will play through Banshee, showing up in the header, and not through Flash.
Amazon MP3 Downloader
The support for Amazon MP3 is not limited just to the store. If you decide to purchase music through your regular web browser, Amazon MP3 will provide a .amz file, a sort of playlist that indicates how the MP3s can be downloaded.
Banshee now associates itself with these .amz files and will download and import the MP3s referenced in them.

The Amazon MP3 Store and Downloader extensions are entirely separate. This allows you to pick your preferred user experience for purchasing music through Amazon MP3. The Amazon MP3 Store extension can be disabled if desired and the downloader will still work with an external web browser.
Other ways to download .amz files include opening manually with your operating system's file manager, the Import Media dialog available through the Media → Import menu, or the command line client distributed with Banshee: $ bamz foo.amz. Bamz will download the .amz contents in the current directory, and will not import the MP3s into the Banshee library automatically.
For more information on the Amazon MP3 integration in Banshee 1.7.3, read my previous blog posts on the two separate extensions:
Miro Podcast Directory
Building on the same new WebKit integration in Banshee 1.7.3 as the Amazon MP3 Store, a new Miro Podcast Directory extension has been implemented. The source integrates with miroguide.com, allowing users to discover, stream, and subscribe to podcasts in a way never before possible in Banshee.
Much more work for tighter integration with the Miro Podcast Directory will come in future releases.
Bulk Metadata Fixup Extension
A new tool is available from the Tools → Fix Music Metadata menu item that allows for bulk metadata fixing. This feature proposes to merge artists and albums that vary only by case, & vs and, etc.
Other Enhancements
- Visual separators were added in the source view between categories of sources: special (Now Playing, Play Queue), local media, and online services.
- Item counts in the status bar are now culturally formatted (e.g. in en_US show 1,000 instead of 1000).
- Improved downloading and visual refreshing of new cover art.
- Visual tweaks to the grid view album artwork hover effect.
- Developers:new Banshee.WebBrowser API for creating embedded WebKit web browsers and sources. Currently used by the new Amazon MP3 store, Miro Guide, and the Wikipedia context pane.
- Developers:new Hyena.Downloader API for performing downloads and easy HTTP operations: HttpFileDownloader, HttpStringDownloader, etc.
- Distributors:the webkit-sharp dependency was dropped, and instead we now take a dependency directly on libwebkit 1.2.2+ for the new Banshee.WebBrowser API.
Tarballs – Why?
More and more I begin to wonder why we generate tarballs at all these days. Is it just because it's easy - a function of "make distcheck"? There's certainly value in the actual distcheck process to ensure you have a sane build, but why actually distribute the tarball? What's the meaningful difference between a tarball and a git tag?
Now, I won't even touch on the subject of how badly I want to throw autotools in the trash, but we're so entrenched in its ways, and are comfortable with its quirks that energy is better spent on actual improvements, so for now the distcheck process is here to stay. For now.
So I ask a very serious question, others have asked as well - why publish tarballs? Most users get their packages in binary form from their distribution. Most users who build from source I would argue are using git already, or have git installed on their system, or can easily do so. Providing instructions on cloning/checkout out the tag/building using autogen/autoreconf/etc can be provided easily and clearly.
I migrated Banshee to Linode and consequently from Apache to lighttpd about a month ago. The logs start on June 20, 2010:
$ grep -E 'banshee-1.+\.tar\.(gz|bz2)' \
download.banshee.fm.access.log | wc -l
7066
So in one month, we've only had 7066 tarball downloads, and that accounts for any and all released versions of Banshee over the past 5 years. Certainly the bulk of those downloads would be version 1.6.1, since that was the newest available tarball over the last month. 284 of those downloads were version 1.7.3, released less than 24 hours ago. I could generate better statistics, but that's not the point here. The point is that number is pretty small compared to the reach of the distributions.
I roughly estimate the average size of a Banshee tarball (bzip2) is 3MB. Eliminating tarballs would save us 20GB/mo in bandwidth - and that's during a quiet time in development when the servers are less active (1.6.1 was released in May). We'll be seeing a spike I'll be monitoring around 1.7.3.
So, if we ditched tarballs, how would you be affected? Would you care?
Update: to clarify a few things, you would still build and install like normal. For instance:
$ ./autogen.sh --prefix=$HOME/local --disable-whatever \
&& make && make install
Packagers would however have an additional minor burden. If their package system (e.g. rpm) requires an archive (e.g. can't build directly from git), then the packager would be responsible for creating an archive. They could either just archive the git clone directory, or actually run their own "make distcheck" from their clone. It would be up to the packager to best integrate the git clone into whatever system they are using.
Eclipse & Android SDK on openSUSE
I woke up at 6 this morning with the urge to investigate writing an Android application. I have been a mostly satisfied user of Android ever since the G1 was first launched. I even switched to T-Mobile to get one from AT&T. The sales person at the time was confused as to why I would switch carriers to get that phone.
Fast forward to this fine morning where I'll make my first attempt at putting my own pixels on my Android device, now a Nexus One.
Unfortunately, Eclipse in openSUSE seems to be a bit out of date. However, the Android ADT Eclipse Plugin is known to not work on 3.6 anyway, so for now I am just sticking with Eclipse 3.4. Additionally, there does seem to be a packaging issue as well that you'll need to resolve.
sudo zypper in eclipse java-1_6_0-sun-develsudo chgrp -Rc users /usr/share/eclipsesudo chmod -Rc g+w /usr/share/eclipse
Note that I explicitly select the Sun Java devel package because Eclipse is allegedly faster using this Java implementation. If you prefer not to taint your system with proprietary software, the default-selected java-1_6_0-openjdk-devel should work just fine. The permissions fixing against /usr/share/eclipse is to make sure that Eclipse software updates work properly.
Start Eclipse, and go to Help → Software Updates and then select the Available Software tab and finally Add Site. Add the two following sites:
- http://download.eclipse.org/releases/ganymede/
- https://dl-ssl.google.com/android/eclipse/
When both sites show up (are no longer "Pending"), check the top-level check box for the Android site to select all Android plugins, then click Install and walk through the installation wizard.
With the installation complete, quit and restart Eclipse. Go to Window → Preferences and choose the Android section. Here you need to set up your SDK. I'm assuming you've already installed it.
Now you can go to Window → Android SDK and AVD Manager. Select Available Packages and install the SDKs, documentation, and samples packages that interest you. I'm sticking to the 1.6 SDK I guess for now, since not many people seem to have the 2.2 goodness yet. After you install an SDK, you can then create a virtual device that targets it.
Good luck!
Amazon MP3 Store in Banshee
I've landed a new extension in Banshee -- an integrated Amazon MP3 Store source. This source allows you to browse, search, preview, purchase, and download music from the Amazon MP3 web site.
Building on last week's announcement of the Amazon MP3 downloader extension, the Amazon MP3 Store extension allows for tighter integration and a better user experience -- music can be explored and purchased all from within Banshee.

Watch the Banshee Amazon MP3 Store Screencast!
I employ no gimmicks. The extension is very simple, just embedding a WebKit GTK web browser, and integrates with a few hooks:
-
Intercepts audio/x-mpegurl content, to stream previews. This provides natively integrated music previews that play in Banshee, not in the web page via Flash.
-
Intercepts audio/x-amzxml content, the playlist (or "download queue") that Amazon provides after a purchase, and load through the Amazon MP3 downloader extension to immediately begin downloading the newly purchased music. This eliminates the need for Amazon's external downloader. Everything happens from within Banshee.
-
Set a cookie ahead of time so that the Amazon MP3 web site is aware that a downloader is installed (Banshee), making the purchasing experience faster and less confusing.
-
Search the Amazon MP3 store from the usual Banshee search box.
-
Provide basic web-browser navigation controls: back, forward, refresh, home.
As simple and obvious as this approach may be, the reality is that this integrated experience was previously unseen on the Linux Desktop. This approach levels the music purchasing playing field -- no extra software to install, no browsers, file managers, or mime systems to configure, and no more manually importing externally downloaded music. Just click, buy, and enjoy.
The code is all committed and available for immediate use in Banshee's git master branch. It will be available in the next release for packaging: 1.7.3.
Remember, Amazon MP3 music is all DRM-free, and there is tons of free content on Amazon as well for you to try the extension out if you're not up for purchasing more music just now.
Banshee on Linode
I recently migrated all of the Banshee web server stuffs to a Linode 768. We were previously running on an incredibly slow, unreliable, and expensive dedicated co-lo machine that once hosted a number of Novell community projects. As part of the migration, go-oo (Novell's edition of OpenOffice) has migrated to openSUSE infrastructure, and I've taken F-Spot with me to Linode.
The performance and reliability so far has skyrocketed, and the flexibility we now have is very welcome. The Banshee web site is powered by openSUSE 11.2, lighttpd, MySQL, and WordPress. The new Linode backup service is a huge relief, which we are using in addition to daily cron-based on-system backups. I've been a huge and loyal fan of Linode since 2005, and am happy to bring Banshee along!
I'm also excited to note that I've switched our "main" domain name to banshee.fm, a domain I've owned for Banshee for about a year but have done nothing with. A number of people seem to love the new domain name, much preferred to the old banshee-project.org. What do you think?
If you are thinking of signing up for a Linode (and if not, you should be), you can help the Banshee Project out by signing up using our referral code: 5ea2a167caa5bec58b16800303350173e3dd094
Three cheers for Linode, and for better web performance for Banshee!
Amazon MP3 downloader support in Banshee
I'm very excited to announce I have just landed support for downloading and importing your Amazon MP3 purchases into Banshee.
It is a simple extension that understands the download queue file that Amazon delivers after a purchase is made. Linux Desktop integration is provided so that your web and file browsers associate Banshee with the download queue file.

Further improvements are on the way, but I've downloaded many albums in Banshee at this point (and subsequently burned a decent amount of money!) Of course, there are a number of free downloads that Amazon offers, which were good for testing. Unfortunately, I didn't think to look for these until I had finished the feature.
In addition to the integrated Banshee extension, there is a command line client called bamz. It requires Banshee to be installed for support libraries, but does not integrate with your Banshee library in case you are into that sort of thing. By default, bamz downloads the tracks into your current working directory with the following structure: $PWD/<Artist Name>/<Album Title>/NN. Track Title.mp3.

I will be merging the Amazon MP3 support into the 1.6 stable series, and it is currently available in Banshee's git master branch. Enjoy!
New favorite way to cook hot dogs
I would like everyone to take notice: I now prefer to broil my hot dogs instead of grilling them. You're left with the same great tasting hot dog (as is usually the case when broiling meat properly) - nice and crispy on the out side, juicy on the inside. However, broiling allows for one important change that is difficult to accomplish on the grill: cheese and toasted bun in one clean go.
- Place the hot dogs in a skillet or baking sheet under the broiler for a few minutes. Turn once so that the whole dog is bubbly and crispy. I like mine slightly blackened.
- Move hot dogs to buns, and coat with thick slices of pepper-jack cheese. Stick some on the sides of the inside of the bun.
- Place newly constructed hot-dogs-in-buns back under the broiler for 60-90 seconds. Long enough to fully melt and bubble the cheese, and toast the buns.
- If you like onions or other non-condiment toppings (I always use banana pepper rings or jalapenos), place them under the cheese to secure and integrate before melting the cheese.
- Coat with condiments, if necessary.
- Eat, and repeat.
I've never been able to so cleanly and thoroughly melt cheese on a hot dog until the broiler. Trying this on a grill isn't practical - you can't use the bun because it'll burn, and the heat won't reach the cheese in time. Any other method just results in either cheese loss and messy transfer of cheese dog to bun, or only partially melted cheese (e.g. the residual heat of the dog).
This has been a cheese-dog PSA.
P.S. I was going to post photos but I ate them. With enough interest, I can post the results.






