AmeriCone Dream – OR ELSE

Nation, if you love yourself, care about freedom, and support healthy cows, stop what you are doing, and go buy a truckload of Stephen Colbert’s AmeriCone Dream. AmeriCone Dream is now the only ice cream I won’t feel guilty about eating. I’m eating for freedom and you should too!

The flavor, Stephen Colbert’s AmeriCone Dream™ is a decadent melting pot of vanilla ice cream with fudge-covered waffle cone pieces and a caramel swirl. It’s the sweet taste of liberty in your mouth.

Do your part! Don’t let the terrorists win!

Harmony 880 Remote on Linux

A few weeks ago I bought the Harmony 880 Remote from Logitech. The thing is amazing. I cannot run my home theater without it now.

You create an online profile and enter all your hardware from their database. Each hardware profile is fully configurable. If a hardware profile is missing a feature, the remote can “learn” from your OEM remote as it has an IR receiver. Essentially any IR device can be configured to work with the 880 remote. You can create virtual keys – 10 of which can be present in any order on the built in LCD at a time and you can page through more functions. Most features you need for home theater are actual keys on the remote and are organized very well.

Harmony 880 Remote

What’s really fantastic about it is the “Activities” feature. Here you create activity profiles. By this I mean, “Watch Cable DVR,” for example. This profile set my audio receiver to Aux 2, my TV to HDMI, turns my cable DVR to my favorite channel, etc. Audio commands are sent to the receiver, DVR commands to the cable DVR, TV commands to the TV. It’s perfect.

The power of the IR transmitter is tremendous. I can keep the remote with me at my desk, facing in the opposite direction of my audio receiver and another room away (granted, I do have a very open floorplan) and control volume levels. I can lay on my couch with the remote and not worry about pointing it anywhere. It has a motion sensor to detect when it should turn on the button and screen backlights. The thing is just nice.

The problem however, is in its update design. To configure all these settings and niceties you log in to your web-based configuration page and go to town. When you’re ready to update the device, you’re asked to download an EZHex file containing your changes in an XML+Binary blob sort of way. Here comes the trouble. You need to be using Windows or a Mac. I get away with this using my XP VMWare install under SLED, but it’s hardly optimal. Once the file is downloaded, you run it in the EZHex sync program, it contacts your remote over USB, and sends the file. Firmware updates are also delivered in the same way. The same program is also used to somehow read IR commands from the built in IR receiver when you ask the web-baesd configuration program to “learn” a command from an OEM device.

I would love to see a program under Linux that at least supports saving the EZHex dump to the remote. It’d be super-sweet if it could also do OEM IR command learning and firmware updates as well (firmware is probably in the same boat as configuration syncing).

So, I’m ready to donate a cash prize of US$75, which is about 1/2 the price of the 880 remote to the first person that can deliver on a Linux program that implements configuration syncing. Another US$15 if the program supports updating firmware on the device, and finally, another US$60 if the program allows OEM IR command learning. It needs to work with the 880 web-based configuration software of course. If all three features are implemented, I’ll essentially be reimbursing you for your 880 remote. I don’t really care about UI. A console program that does the job is fine with me. The code must be GPL, LGPL, or even better, MIT X11.

I suspect that some debugging/listening will reveal a lot, and it can be implemented fairly quickly using libusb or something. I just don’t have the time to really look into it. It would have been nice if the harmony was a mass storage device and you simply copied your configuration profile and firmware updates to it. Oh well. Maybe Logitech can be contacted and specs can be obtained. That’d be sweet.

That said, once you do get your perfect configuration for the remote, you really have no reason to boot Windows again to do anything with it. You will spend a couple of hours setting it up and tweaking though.

Oh well, I’m still a satisfied customer.

Update: The code must be original, and you of course must be the author. If a utility already exists to sync the 880, I’d appreciate the tip, but it won’t qualify for the prize. :-)

Update 2: Paul Cutler has generously offered to match my US$75 prize for step 1. That is, if step 1 is completed, the total prize is now US$150. Completion of steps 2 and 3 leave the total possible amount at US$225. Start hacking – it’s probably a day or two of work for a full 880 reimbursement!

openSUSE Build Service

The openSUSE Build Service is really rocking. A lot of great effort has gone into it, and I hope it’s close to being more publicly open for new packagers.

I tried a few weeks ago to start managing upstream Banshee builds within it, but there were a number of issues and it just didn’t work out too well.

However, after giving it another shot yesterday, I’m very pleased to announce now that the very latest release of Banshee is currently and will always be available on the openSUSE build service. I have added targets for openSUSE 10.1 and Factory (soon to be 10.2, which, by the way, is really shaping up to be an outstanding release).

So, openSUSE Banshee users, add the appropriate repository below for your distribution and enjoy the updates:

Note to SLED 10 users: the openSUSE 10.1 packages will work on SLED, but you will lose the Helix Banshee support (RealPlayer/AAC/MP3) that was shipped with the distribution. I am trying to figure out the best way to manage Helix Banshee/SLED specific builds. What’s in the openSUSE Build Service is strictly 100% open source/upstream and works only with GStreamer.

I also hope to soon be able to host builds/packages for other non-SUSE distributions such as Fedora, Mandriva, Debian, and Ubuntu. We’ll have the infrastructure in place within the build service to support this, so we’re definitely going to want to take advantage of it when the time comes! I think it’s important to note however that this would not replace packaging done by the excellent individual distribution packagers/contributors – it’d merely be a way to offer an official bleeding-edge (well, still stable) repository for users on a distribution that wish not to wait for the next distro release cycle to get a major update.

Finally, James Ogley also wrote about GNOME:Stable, GNOME:Unstable, and GNOME:Community pieces of the build service, effectively replacing his old repositories. I’m really pleased with this new direction of what I’d like to see become more community-driven packaging.

Multimedia across the board

Multimedia in openSUSE 10.2 should also be a pleasant experience for users. Aside from getting the latest and greatest Banshee in, last week I spent time fixing and updating GStreamer and Totem and making sure we had all the right components selected by default to give the the potential for an awesome in-browser multimedia video streaming experience.

I’ve been testing 10.2 on all the Fluendo Commercial Beta plugins, and it’s quite nice to just be able visit any site with embedded video and have it play in your browser. All you’ll need to do is drop in the right GStreamer plugins – which is another topic altogether.

Cool stuff now in the wild

Quite the release, Mono 1.2 is ready for indulgence! Fantastic news also from the DBus camp – 1.0 “Blue Bird” was finally released upon us! Eexxccellent.

Modern cars – they all look like electric shavers

Without any further delay, I bring you the Podcast plugin for Banshee, thanks to the arduous work of Mike Urbanski.

Podcasting in Banshee Podcasting in Banshee

Interested parties should definitely check it out and test. Banshee HEAD is required, so update your checkouts. The plugin code has been merged into the banshee-official-plugins module in Banshee Subversion. Congratulations Mike!

In related news, I released Banshee 0.10.10 last week, which was the first official release from the stable branch. And speaking of the stable branch, I guess I should actually mention that too. I branched from HEAD shortly after 0.10.9 to create the stable branch. Any more releases from the 0.10.x series will be based on this branch (BANSHEE_0_10_9_SL in CVS). The first from HEAD will be 0.11.0, but I have no time frame set for that. In SUSE/SLED, we are keeping up with the stable branch, so no new features will be introduced. I urge other packagers to do the same. I think 0.10.10 is now at least available in Ubuntu Dapper; not sure about FC5, et. al.

To highlight some of the greatness from 0.10.10:

  • Fully working and improved NJB DAP support (Creative Nomad, Dell DJ, etc.)
  • Really beefed-up CD burning; I think three or four fairly serious bugs were closed here
  • A nice handful of other bugs resolved

I also wrote up a quick roadmap for 0.11.x for the curious. It needs some organization and review, but my basic ideas are layed out there.

Now, regarding banshee-official-plugins, here’s how it breaks down: currently everything in this module is under development, unstable, and unreleased. Some plugins work against the stable branch while some require the latest and greatest from HEAD, but the module itself will configure and build against anything 0.10.10+. For 0.11.x, some of the plugins (or at least DAAP) will be split out from core into this new module. Currently it contains:

  • Mike’s podcast plugin
  • Felipe’s Mini Mode plugin
  • Fredrik’s Recommendation plugin
  • Gabriel’s Smart Playlists plugin
  • My iRadio plugin

Once a release is made of this module (probably for the 0.11.0 core release), these plugins should be stable and supported. Right now, however, not everything is completely ready to come out and play.

AA-000 Car

Switching gears: Evan (my brother), Jeff, and I drove down to Raven Rock for a little hiking on Saturday. Evan and I had been there a few times when we were younger, so it was nice to confirm that the rock was just a large as I thought it wouldn’t be anymore (makes sense, right?) The weather was absolutely perfect and the hike was great. It’s only a 45 minute drive from Raleigh, so if you’re in the area, it has my seal of approval.

On the way back to Raleigh, I found myself driving behind the sweeet car pictured above. What’s so peculiar? Look at the license plate. Either it’s really awesome and original or the owner it is a total prick with a fake plate. Oh, and I raced a Lotus in my Jeep. And by race I mean accelerated past him, and immediately took the next exit, which did happen to be my intended exit. Still, I raced a Lotus. Right? :-D

Me Evan Jeff The Rock

Free Airport WiFi?

So apparently RDU now offers free WiFi. Or at least some little food place does (ESSID ‘attwifi’ ). It’s a nice switch from the crappy $8,420/24-hr web-only-must-register WiFi they (and others) had before. There don’t seem to be any port restrictions and the speed and signal strength is great.

What’s interesting is that there is also a ‘tmobile’ ESSID, but I don’t feel like disconnecting to check it out :-D. If I weren’t in such a nice stop right now, I’d move around to see if it was all over. Anyway, thanks RDU!

Spring Cleaning

Lately I had been noticing that my Linode was really slow. I’ve got a fairly decenty setup with 180MB dedicated RAM, but SpamAssassain was making it crawl. Half of my swap was taken up almost immediately on boot. To keep more vital services up, I had taken Postfix down for a few days, so if you sent me any mail to an account, I probably missed it.

Running tail -f /var/log/syslog showed that I was getting hit about 15 times a second from some .ru spammer. I took this as an opportunity to just start over with the linode as it had been untouched in about a year. I noticed that Linode now has a 2.6.16 kernel with TLS support (finally), so I decided to try Hula for mail this time as I am really tired of dealing with Postfix and I hadn’t played with Hula in about 8 months.

All services are back online now, including Banshee SVN, various web sites, and mail. I am running Debian 3.1 (same as last time) with Apache2, MySQL 5, PHP 5.1, and Hula. I was very surprised to see WordPress work with MySQL 5 with only very minimal tweaking. Also, for the first time I decided to just use the Debian unstable packages for everything except Hula and WordPress, and I am very impressed. For the past 4-5 years I had always built my server services stack, but really don’t have time to maintain that anymore.

In the process of all this, I gained about 3GB of disk back by moving things around and merging various disk images, so life should be a little easier. I had been living with about 50MB of free disk for the past 6 months. It was not fun.

And for those who may be considering switching to MySQL 5 with a WordPress 2.0 install, be sure to execute these SQL queries against your migrated WP database:

ALTER TABLE wp_posts MODIFY post_content_filtered TEXT NULL;

Anyway, Hula is rocking hard. I am a fan. Evolution 2.6 also works great with its integrated Hula client, but I am guessing that it just uses Hula IMAP for mail. Not sure what else this does yet, but I am eager to find out. When I have some more spare time I will get Mono back on the box and play with CalDAV. Wooo.

This world is coated in cheese

Last night I released Banshee 0.10.8. I started reworking how the player engines work last Monday. Access to the player engines are now fully abstracted so the interface is entirely passive. This means that plugins can now do anything in terms of playback that the UI has always been able to do. I also modeled the new event/state system after the wonderful message bus idea in GStreamer 0.10.

This is all leading somewhere: the upcoming podcasting, iRadio, and streaming plugins. The player engines will be enhanced to be better suited for streaming (will send buffering messages, etc. so the UI can let the user know what’s going on). To test this, I have added a simple new “Open Location” dialog. You can now listen to a single arbitrary URI. I will also start working on updating stored metadata from metadata found in the stream. That’ll be neat.

The other major new “thing” in 0.10.8 is the Helix playback engine. To allow for 64 bit builds of Banshee with Helix support, I have moved playback out of process. I started a new module, helix-dbus-server, that exports the Helix hxclientkit API over DBus. In Banshee I have implemented a HelixRemote PlayerEngine to act as a client. This will allow for 64 bit builds of Banshee and a 32 bit build of helix-dbus-server. Helix is of course not 64 bit ready.

In other news, I shared my heart-attack fries with Wendy at a party over the weekend. She was delighted to indulge, and I was… simply amazed. Unfortunately, no one else seems to share our enthusiasm.

Heart Attack Fries Heart Attack Fries

On Sunday I countered it all with a long early morning run (it’s been a while) and no food. Today I ate a really awesome salad with homemade dressing.

A week or two ago, I found out that the photo of me eating the Ruby Tuesday’s Ultimate Colossal burger was published on an article about the burger on It was rather hilarious, though I don’t think the author really understood the expression on my face. I need to enter the timed contest.

Ah… time for some Colbert…

I am on a quest

A few weeks ago, some friends and I decided to have lunch at Ruby Tuesdays. My mission was clear: conqueror the 1 lb burger. Simple. It was amazing, and I am now on a quest for bigger, badder burgers. Perhaps one day, I will dominate this incredible hunk of heart-attack.

The 1lb RT burger

Earlier this week I was a bit spaztastic, obsessing over including SexyIconEntry as the search widget in Banshee, amazed by how much it had improved over the last few months. While this may happen in a future release, I’m holding off on comitting that patch as I really don’t want to make libsexy a dep right now. However, in the process I decided to write GAPI-based C# bindings to libsexy, which are now available in the libsexy-mono module Christian’s SVN repo.

Banshee with libsexy's SexyIconEntry

Jon has been doing some really cool work with a new Banshee source plugin. I’m sure there will be more on this later :-). Also, Fredrik has been hacking on Jon’s SharpMusique to create a Banshee plugin (SharpMusique is an iTms client, and allows purchasing music using your Apple account from the iTunes Music Store). He committed a first pass of the integration plugin (svn co svn://, for anyone who wishes to test. At the moment there is no menu integration, and you can only purchase one track at a time, and if you’ve used iTunes 6, your account is flagged, and will not allow purchases (yet). Nonetheless, this is an excellent start :-D

Banshee iTms Plugin

Also last week, I discovered X-Moto and have a new addiction to add to my collection.

X-Moto is super

That is all.

WordPress 2.0

I’m impressed. I just upgraded to WordPress 2.0, and despite there being an insane amount instruction on the upgrade process, it went very smoothly, much to my surprise. I’m not sure how I feel about the WYSIWYG editor though. I just hope it lets me type my own XHTML and not escape all my tags.

On Friday the cable dude came to hook me up with a more reliable and faster connection to the outside world. It’s pretty awesome. Again, I’m impressed.