MythTV, Freevo, and Python
We've been using MythTV for about a year now; it took me a long time to set up, but once I figured out how to configure the Linux kernel appropriately and then found Debian packages for the rest, it was pretty easy. It's completely changed our TV watching habits (albeit not necessarily for the better...) and I use its jukebox & DVD ripping interfaces a fair bit as well. It is truly a fantastic program.
Freevo, however, is less good -- and (from what I can tell) for only one reason: lack of integrated live TV watching/recording. MythTV has a recording daemon that streams live TV from the tuner card directly to a client via UDP. This is both flexible -- it underlies the entire system for TV watching, because you can do the same thing with recorded shows as well -- and nicely client-server. (My iBook has a Myth client on it, so I can watch live or recorded TV via 802.11g.) If Freevo had this feature, I'd switch in a heartbeat. They seem to be aware of this lack, to their credit, but it's probably a reasonably-sized job to implement it.
The Freevo team had some nice things to say about Python:
The language is one of the best collaborative languages I have ever used. I wonder if we could have reached the point we have without the short learning curve and power of Python and its related libraries."
...but also talked a bit about speed considerations:
"Sometimes Python is too slow for the needed task. Most of the time we can avoid such problems by rethinking the design," says Dirk Meyer, the Freevo project's 28-year-old lead developer from Bremen, Germany.
I'd be interested in hearing more about this, because my usual solution is to recode in C ;).
A friend and I have been batting around the idea of coding up a Web services API for some of the Myth functionality. GUIs can only take you so far... We'll see. It's not like I haven't got enough on my plate.