TiVo -> Video Podcast

Previously on “You can imagine where it goes from here”: We released a script to download stuff from the tivo, and then made some improvements to it.

After two years of saying I was going to fully automate the process of downloading and transcoding shows for my iPhone, I finally got off my ass and did it.  The script is called TiVo2Podcast and it not only does the downloading and transcoding, but it stuffs the resultant video into a an RSS feed for easy consumption/playback by a podcatcher such as iTunes. I’m now automatically getting the shows off my TiVo and onto my iPhone for easy commute-time consumption. (I commute by train, I do not recommend commute-time consumption if you are driving.)

The ruby script wraps tivodecode, HandbrakeCLI, and AtomicParsley and is intended to be run from cron.  I’ve tested this on Linux, but it should run on any UNIX-alike, but it won’t run on windows since I make liberal use of the system() call. Also, this is intended for PERSONAL USE ONLY, do not set up podcast feeds and violate the ethics (and also the laws) of copyright left and right.

This is a very early version and can certainly use some tweaks and enhancements, primarily in configuring the shows you want to capture.  Right now, configuration is in the form of doing INSERT statements in SQLite.  Not very friendly, but it gets the job done until I can make a quick and dirty question based TUI. Here’s an example of setting up getting the best fucking news team on the planet:

INSERT INTO configs (config_name, show_name, rss_filename, rss_link,
                     rss_baseurl, rss_ownername, rss_owneremail, ep_to_keep, encode_decomb)
            VALUES ('tds', 'The Daily Show', 'tds.xml', 'http://www.thedailyshow.com/', 
                    'http://example.com/podcasts/', 'Keith T. Garner', 'kgarner@example.com', 4, 1);

Download tivoscripts-20100304.tar.gz and let me know what you think. Make sure you read the README!

[Update 3/5: Forgot to add that all the code I wrote is under the Simplified BSD License, so have at it.]

Today IS pretty cool…

Rob McCool said the following quote on a UIUC alumni mailing list we’re both on:

Actually, all things considered, right now is pretty awesome. You can buy a device for about $200 which has more floating point computing power than a Cray did in 1972 and carry it around in your pocket. Its battery can store energy equivalent to a small hand grenade and can run the device for hours without plugging into the wall. And you can use it to communicate with virtually anybody on the planet, sometimes by bouncing radio signals off of aluminum canisters we’ve flung into outer space.

That’s pretty cool.

I totally concur.

Book review: Dead Until Dark

Dead Until Dark (Sookie Stackhouse, #1) Dead Until Dark by Charlaine Harris

My rating: 4 of 5 stars
After thoroughly enjoying the HBO series True Blood for two seasons I decieded to give the Sookie Stackhouse books a try. (This worked well for me in reading Kathy Reich’s Temperance Brennan books after watching Bones.)

The first season of the show is incredibly faithful to the book so most of the major plot points were not the surprises they could have been. However, lots of little details are just different enough to add to the experience of both the show and the books.

You follow the story of Sookie Stackhouse, a telepathic waitress in Bon Temps, LA. A Vampire named Bill moves into town in the process of mainstreaming. Sookie is taken with Bill since she can’t read him. Then, women who seem to be assocated with vampires start dying around town. Was it Bill? Is it Sookie’s brother? And the mystery is on…

It seem to fall somewhere between a mystery with supernatural elements and a bodice ripper. At times it almost felt “too girly” but the supernatural characters and happenings allow me to accept the material where usually only Fabio dares to tread.

The writing style and my interest made it an incredibly quick read. All in all, if you liked the shows, you’ll like the books. If you haven’t seen the show, you’ll still like the books if you’re looking for what I’d venture to call “a girly Harry Dresden.”

View all my reviews >>

In defense of the AppleTV

specs_dimensions20080925Last week the 3.0 software update for the AppleTV came out.  On-line there was a lot of grousing about it, and that has inspired this post.

The Roku SoundBridge that we had in the family room was taken out by Thor.  We didn’t realize how much we liked having a digital music player there until it was gone.  We let it go for a few months, but it felt like something was missing.  In the meantime, my buddy JD was talking about how much he liked his AppleTV and was going as far as dropping cable due to it.  While out visiting, I got to see Evo and Sheila‘s AppleTV playing music with the photo montage screensaver gliding by as we chatted.  All that together, plus some reading up, planted the seeds for my purchase of an AppleTV with the 160GB drive earlier in the year.

Upfront I should make it very clear, what I was looking for initially was a replacement digital music player, and the AppleTV provided that.  I considered it a bonus that it had the ability to show photos, youtube, and video content on a screen more conducive to group watching that any of our laptops or monitors, our 42″ DLP HDTV.  Overall, we’ve been extremely happy with it.

Maybe its because we came into it with the proper expectations.  It is in a really weird product space that not many consumers understand.  Many companies have entered it with similar (and even less featureful) products and left the space.  An example would be my once beloved Turtle Beach Audiotron.  Others keep plugging along like Logitech’s Squeezebox line.  Apple has called it their hobby, and I think that may be because its difficult to tell consumers why they might want one.  Or it could be I’m just the weird person who wants it and consumers in general don’t want one.  I do think its poorly named, though.  The name implies, to me, you can watch TV on it, instead of purchased/downloaded/sycned content.  I can see people thinking its a DVR based on the name.

A lot of the bitching I’ve seen about the AppleTV has been about what its not.  Its not a Media Center PC, it isn’t a DVR, it can’t play every format under the sun, its underpowered, it can’t play DVDs, it can’t do better than 720p, it has to be slaved to iTunes, etc.  Except for the format issue, I don’t care about any of the rest of them.  In fact, the fact it syncs to iTunes like any other device is one thing I like about it.  When I’m modifying playlists, etc, for my iPhone and other iPods, its reflected in the home media player.  Anyway, how it is now, works for me and my family, and we get a lot of use and enjoyment out of it1.

99% of the time we’re playing music and enjoying the mosaic of photos that goes by.  Actually, the photo montage screensaver has increased the enjoyment we get out of our digital photos.  Every once in while we see a photo we’ve almost forgotten about and its a pleasant surprise. The other 1% of our usage time is playing back video that I’m slowing ripping from our DVDs library for the kids. Having whatever they might want to watch without switching DVDs or getting them scratched or forgetting them in the car, etc, is pretty nice. I ripped all the Disney Classic Cartoon Favorites we have so far, and the kids can easily watch any one of those in any order.  Its playback is good enough for what I’ll use it to play back, despite people’s wanting of more.  Maybe in the future we’ll want more, but it does what we need, again.

Anything could be better, so what could be better for me?

  • Mostly supporting a wider array of formats.  It plays MP3s and AACs fine, so I’m good on audio, but the video is kinda limiting.  However, I can rip right to the MP4/M4V/h.264 format it wants but random longer non-youtube things off the web require conversion.
  • Maybe some better cooling.  That box runs hotter than hell when its playing back video.

Just a couple of general thoughts on the 3.0 upgrade:

  • The 2.x software had some quirks and slowness, and I’ve noticed in the past 5 days a lot of that are cleared up.  It still stutters when iTunes connects to it, but the going catatonic while you sync when is playing has gone away.  Overall, syncing is more pleasant.
  • The menus seem to be MUCH faster
  • The menu placement of “My Music/Movies/Etc” being first is much better. I’ve got the AppleTV to play my stuff, not always rent stuff.
  • I’ve been loving the Genius Mixes on my iPhone and iTunes, I’m so glad to have them on the AppleTV

The Remote app that Apple released for the iPhone and iPod Touch is also a great addition.  You can use it to follow control the AppleTV with an interface similar to the iPod app on the iPhone/Touch.  It also will pop up a keyboard for when you want to enter text into things like the YouTube search box.  This is really useful when using it with the next thing I talk about…

There is one other feature I’ve set up, but I haven’t had a chance to fully use is the fact that the AppleTV can act as an AirTunes host.  When paired with my Airport Express (and it is in turn paired with some speakers) we can have the start of whole house music.  Next party we have I’m going to put this to a practical test.  Walking around controlling the tunes from my phone through the whole house… It doesn’t take much to excite me these days.

In any case, my main point here was to address that the AppleTV does work as it is for some people.  It’s not a media center, and that was okay for me as I wasn’t looking for one.

[1] And…because of my nature, I have hacked it to run boxee, but I didn’t use that all that often. So there is some under the cover upgradability that isn’t too bad.

206 Bones

I’ve been neglecting the blog of late. I haven’t really had much to say that the 140 characters of Twitter hasn’t taken care of. However, since I took the time to write a book review on GoodReads, I thought I’d share it here too.

206 Bones (Temperance Brennan #12) 206 Bones by Kathy Reichs

My rating: 4 of 5 stars
Kathy Reichs’s Temperance Brennan is back again. This time starting out in a well described Chicago. She ends up back in Canada, but I did appreciate how well represented Chicago geography was represented.

I ripped through the book in a few days, due to Reichs’s writing which gels well with me as a reader. There were a few things I didn’t see coming, or at least not in the form they did, which is what I want in a mystery. That said, the only weakness to Reichs’s books is that many of them feel formulaic. Many of these motions I felt like I had gone through with Tempe before.

All in all I still largely enjoyed the book.

View all my reviews >>

Build libcurl as a universal binary

I release one of the projects from work as a universal binary on OS X.  Up until tomorrow that mean just i386 and ppc.  With snow leopard, it looks like it’ll be a good idea to support the 64-bit architectures as well, especially considering its an ODBC driver I’m working on and the native apps running at 64-bit will want to talk to it that way.

Since we used a lot of open source libraries to save us time, I need to have those built super-universal as well.  The first one I tackled was curl, which had some issues due to configure, so I had to write a shell script to do the hardwork for me.  It needs to run configure three times, and I got a lot of the information for it from http://curl.haxx.se/mail/lib-2009-05/0000.html.

#!/bin/sh
export CFLAGS="-O -g -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -arch i386 -arch ppc"
./configure --prefix=/usr/local/encap/curl-7.19.6 --with-ssl=/usr --without-ca-bundle --disable-dependency-tracking

cp include/curl/curlbuild.h include/curl/curlbuild32.h

make distclean

export CFLAGS="-O -g -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -arch x86_64 -arch ppc64"
./configure --prefix=/usr/local/encap/curl-7.19.6 --with-ssl=/usr --without-ca-bundle --disable-dependency-tracking

cp include/curl/curlbuild.h include/curl/curlbuild64.h

make distclean

export CFLAGS="-O -g -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -arch i386 -arch ppc -arch x86_64 -arch ppc64"
./configure --prefix=/usr/local/encap/curl-7.19.6 --with-ssl=/usr --without-ca-bundle --disable-dependency-tracking

cat > include/curl/curlbuild.h <

There will be more of these as I build the other dependencies.

LOAD “:*”,8,1 (yes, I know I’ve used this title before…)

On the Edge: The Spectacular Rise and Fall of Commodore On the Edge: The Spectacular Rise and Fall of Commodore by Brian Bagnall

My rating: 4 of 5 stars
Some of the reviews I read of this book lead me to believe it would be more focused on the business side than the technology side. I was presently surprised that I felt it was 70% or greater about the technology. Having had a C=128 and using the heck out of it and having admired Amigas and their uses (but never having owned one,) my look at this book may be a bit biased.

From the technology side: for those who think they know how the personal computer space started, this book provides a different point a view from the very Apple and MS-centric stories you normally here. Commodore definitely deserves our praise every time we use cheap PCs at home, as they were the progenitor of “computers for the masses.” I was really entertained learning about the personalities that come up and developed the technology behind commodore and in the amazing amount of time they did it. Because I am the geek I am, I did easily identify with many of the people and I fondly remember using the technology they came up with.

From the business side: Its really illustrative of what someone with a vision can drive people towards. It also clearly illustrates how when the vision goes away how the waters get muddied quickly. There’s also lessons to be learned in not screwing people you need to succeed and maintaining a good relationship with them.

View all my reviews >>

iTunes keeps syncing the same 44 songs OVER and OVER: SOLVED!

iTunesRight as OS 3.0 came out  iTunesfor the iPhone and just after the latest version of iTunes was release a problem sprung up for me.  Without making any changes to any of my music files, iTunes would resync the same 44 songs to the iPhone on every sync.  I finally had some time to track it down.  Well, in truth, it finally annoyed me enough to find a fix.

It turns out the problems were broken id3 tags.  Now, if you ask me how they were broken, I honestly have no idea.  What I ended up doing is for mp3s that still had v1 tags, I removed the v1 tags.  My first thought was it was mp3s where v1 tags didn’t match v2 tags.  I used the excellent command line tool id3v2 to strip off the v1 tags, and then revisited the songs in iTunes information panel to make sure iTunes’s database matched what the songs now looked like.  Sync the iPhone, disconnect the iPhone, reconnect the iPhone, sync again, and boom, those files weren’t synced again.  Rinse and repeat until all were fixed until…

I ended up finding that a few of the 44 only had v2 tags, so it wasn’t the v1 tags alone.  On a whim I tried this fix which seemed to work: In iTunes I converted the v2 tags from say, version 2.3 to 2.2 and back, do the sync, rinse and repeat dance from above and that seemed to fix it.

On a related note, I found an excellent OS X only iTunes utility that does two very cool things I had been doing by hand: adding album art and lyrics.  Actually, I hadn’t been adding lyrics, but I’m considering it now that there is an easy way to do it.  The cool it called GimmieSomeTune.  What makes its album art gathering go above and beyond the iTunes’s native searching of the iTunes store is that if its not in the iTunes store, it’ll try to gather the album art from Amazon.  Amazon’s art has been hit and miss in terms of quality, but I prefer to have something there rather than the empty music symbol.  (You can also create your own default that will be put in place if iTunes can’t find it in either place.)  It also has some interesting features like last.fm integration, but I haven’t had a chance to play with that yet.

Direct plugin auto-update on WordPress 2.8

I get a lot of traffic on the site due to my post on getting direct (non-FTP) updates to work on WordPress 2.5.  This method worked up until 2.7.x.  With 2.8 out this week, I found during my svn switch a conflict was created due to a code change in file.php.  Looking at the changes, it looks like the wordpress developers created an easy way for one to short-circuit the update to use the method you want via a setting in wp-config.php.

So, in brief, the permissions and WP_TEMP_DIR settings from the older article still stand.  However, you no longer need to edit wp-admin/includes/file.php. Now you just need to edit your wp-config.php and add the following towards the bottom:

define('FS_METHOD', 'direct');

Keith's attempts to fix the cable of life