Site menu:

Site search

Categories


Authors

Links:

Meta

Russ’s Recipe for Raspberry Pi Media Center

With Thanksgiving right around the corner, here is a recipe that is bound to please the pallet of your techie friends.  Be sure to give yourself plenty of time to prepare, as some ingredients must be ordered in advance of the big day.

Ingredients:

1 fresh Raspberry Pi, with 512MB of delicious memory
1 8GB Sandisk Ultra or Extreme Pro SDHC card
2 Codec keys from Raspberrypi.org
1 Raspberry Pi enclosure, for garnish (this one is nice)
1 Television or video monitor with HDMI inputs
1 short HDMI cable
1 Ethernet connection and cable
1 USB power supply port, 1 amp or greater.
1 USB to Micro-usb cable
954204160 bytes of OpenELEC-RPi.arm-3.2.3.img

Equipment needed:

1 computer running linux, mac osx, or windows, with USB port
1 USB SD card reader or built-in SD slot reader
1 Apple. If out of season, substitute an Android.
1 media server, with lots of delicious movies and music

Preparation:

1. copy OpenELEC-RPi.arm-3.2.3.img to your SD card, using this recipe: http://tinyurl.com/raspberryElecrtic
2. order your video codec licence keys for $5, following this recipe: http://www.raspberrypi.com

Recipe:

Mix SD, ethernet cable, and enclosure, using fingers and screwdrivers. Once thoroughly mixed, infuse with USB power cable, and carefully arrange for presentation, with HDMI cable and monitor.

On your selected control utensil, poke randomly until you have downloaded the official XBMC remote control application.

Check to see if the video codecs are done. If so, take them out of the email, and mix in, carefully following the instructions on the package.

Finally, mix in your media server content, and enjoy! Bon appétit!

iTunes hints for IOS 4.2.1

Are you reluctant to throw your old iphone or ipod touch into the electronic landfill?

Are you searching for a way to restore your old apps that have been thrown out of the App Store?

Do you not want to go down the precarious road of jailbreaking your device?

Did you make the mistake of hooking your device up to iTunes and having your apps updated to non-working versions that crash and burn?

Do you still use Stanza?  Do you hate Amazon for killing this wonderful ebook reader?

If you answer yes to any of these questions, maybe I can help.   Last July I was on vacation and was looking for a good ebook reader for my old ipod, and couldn’t get a version of Stanza to work without jailbreaking, or so I was led to believe.  If you have Stanza 3.03, or maybe 3.1, then you are golden.  If you try to upgrade to 3.2, then you are toast.

I backed up the ipod, and then tried to jailbreak it.  Didn’t work.  Jailbreak version never came up, and so I had to restore to my backup.

Unfortunately, an iTunes backup does not include your apps or music!  A backup only covers the operating system and your settings.  If you have other devices, and have been foolish enough to upgrade your apps on one of those devices, then iTunes will attempt to upgrade all of your devices.  In my case, I had updated a later ipod to Stanza 3.2, along with many other apps, such as Netflix, Bubble Ball, etc, and none of these versions work on IOS 4.2.1 anymore, which of course is the last OS you can put on your older device.

Daddy, where is Netflix?

If you are lucky like I was, and have another device that has the right software on it, or you have a backup of your iTunes library with the right version, then you may be in luck.  In my case, I had an iPhone 3g with the right version of Stanza, version 3.0.3.  Sure, it crashes occasionally, but I still use it nearly every day for an enjoyable read – perhaps a Maigret, or an old Larry Niven.

So I figured I could just upload my apps from my iPhone, and then install them on the iPod, right?

Not so fast, buster.

If you google around, you will find a bunch of articles on how easy it is to recover you purchases from an IOS device – just hook it up, right click on it, and say Transfer Purchases (also in the File->Devices menu of iTunes).

When I did that, it only transferred purchases that were not already in my iTunes library!  A total of two lousy apps that I didn’t even want.

After a while, I started wondering, what would iTunes do if I moved my current iTunes directory aside, and then told iTunes to Transfer Purchases?.  (On the mac, the  iTunes folder is in your home directory, named Music/iTunes.  Apps are stored under the same directory in either “Mobile Applications” or in newer versions of iTunes, in “iTunes Media/Mobile Applications”.  The apps are the ones in the *.ipa files, which are actually just zip files).

WARNING: make sure you disable all automatic syncing before you hook up your device to begin with!  Do it in iTunes->Preferences, and also be sure to disable the automatic download of Apps on the Apps tab in the panel iTunes opens up when you click on your attached device. As an added protection, logout of the iTunes Store.  You don’t want any of that iCloud voodoo going on.

After zipping up my old iTunes dir, and renaming it, I connected the iPhone and told it to Transfer Purchases.  About an hour later, I had all of the apps uploaded into my brand new iTunes library (using iTunes 11.0.4).

Then I hooked up the 2nd gen Ipod, and told it to install just the apps I wanted (you must first delete any bad versions on the destination iPod, to force it to sync.  Unfortunately, it will also delete the data associated with the app, like high scores, and ebooks.  No easy way around that as far as I know).

Cool, now my youngster can download and read all the books I have loaded  on Calibre.  Stanza is the only app that lets you do this conveniently, in batch, without exporting via the hated iTunes.  Other restored time wasters include Netflix and Bubble Ball.

After the restore, I zipped up the now valuable iTunes directory with my old apps, and restored the original iTunes folder, which has my current content.

Now, I just have to remember to never sync anything from that new iTunes folder.  Keep the old with the old, and the new with the new.

Gee, why didn’t Apple think of that?

Perforce Git Fusion – Part II

A continuation of my series on Perforce Git Fusion.  This time we explore an automation project to dump out Electric Commander source code and configuration data…  Part I is here, part II is here.

Perforce Git Fusion – Part I

Need a tutorial introduction to Perforce Git Fusion?  See Part I, published here.

Mac2Tivo – A lesson in Contextual Debugging

I’ve been getting offers from Roxio to upgrade Toast to version 10 for the last few weeks. I hadn’t seen anything really compelling about the upgrade, until I noticed a new application in the package called Mac2Tivo. This is a server that runs on your mac, and allows you to transfer video from mac to tivo. PC users have enjoyed this facility for some time, but it is only a recent cabability on the mac, released in January 2009.

I purchased the program for download, and proceeded to install it on my main file server, which runs our home wiki and provides a convenient dvd/cd burn station. I have used this system for years to perform various video experiments. It is an old power-pc g4 (Sawtooth generation), that I’ve had since 1999. I’ve upgraded it over the years, and it now sports a 1.8 GHZ CPU and about 2 TB of disk space. My first real digital video experiments on this machine were done with Elgato EyeTV, which was a fire-wire connected HDTV tuner that I used to record the 2004 Summer Olympics in hi-def. In the San Francisco Bay Area, we have had HDTV broadcasts from Sutro Tower, starting about that time or a bit earlier. In the early days, I could call up the guy at Sutro tower and say, “Hey, what happened to my hi-def signal?”. He would reply, “sorry, we had to power it down to install a whatzit, for channel 2. We’ll be back up in a couple of hours”.

Well things have progressed a bit. Back then I had assembled a 1 TB disk array for about $800 – more recently, I installed a Samsung Spinpoint 1 TB drive for about $90. This is the drive I’m currently using for automated backups, and for my video experiments. I’ve had good luck with the Samsung drives so far – they’re quiet and run cool.

More importantly, Tivo finally released an affordable HD version, which I bought in 2007. Since then, the EyeTv has been retired. While you could make a case for collecting HD recordings on the Mac for editing, burning, and other purposes, in practice it is too time-consuming and the scheduling is primitive and unrewarding. Contrast that with a Tivo season pass – select it and you’re done. For managing family programming, the Tivo is hard to beat.

After installing Toast 10, and burning a test DVD to confirm it, I launched Mac2Tivo and was rewarded with the following crash (you can view application crash logs from the Console app, which is hidden in Applications/Utilities on your mac):

**********

Host Name: xxxx

Date/Time: 2009-06-26 17:25:34.632 -0700

OS Version: 10.4.11 (Build 8S165)

Report Version: 4

Command: Mac2Tivo

Path: /Applications/Toast 10 Titanium/Mac2TiVo.app/Contents/MacOS/Mac2Tivo

Parent: WindowServer [101]

Version: ??? (1.0)

PID: 9673

Thread: 0

Exception: EXC_BAD_ACCESS (0x0001)

Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000000

Thread 0 Crashed:

0 libSystem.B.dylib 0x9012cab0 _malloc_initialize + 1016

1 libSystem.B.dylib 0x90002fb8 malloc + 48

2 com.apple.Foundation 0x92bd1334 _NSAPDataCreate + 32

3 com.apple.Foundation 0x92bd14b0 NSPushAutoreleasePool + 40

4 com.apple.AppKit 0x938ae2d0 NSApplicationMain + 60

5 com.roxio.Mac2Tivo 0x00002168 start + 68

Yikes!

I noticed that when I had first launched Toast, it had asked me if I wanted to upgrade. I thought I’d better. So I upgraded the package I had just downloaded, which took another 30 minutes (it is about a half GB so it takes a while). The update was a full installer, so the first download was completely unnecessary. I guess they don’t quite have their ecommerce act together yet.

The new version of Mac2Tivo was 1.0.2, and after reinstalling, I was rewarded with a much smaller trace:

**********

Host Name: xxxx

Date/Time: 2009-06-26 19:57:07.395 -0700

OS Version: 10.4.11 (Build 8S165)

Report Version: 4

Command: mac2Tivo

Path: mac2Tivo

Parent: tcsh [463]

Version: ??? (???)

PID: 708

Thread: Unknown

Link (dyld) error:

Symbol not found: _NSInvalidArgumentException

  Referenced from: /Applications/Toast 10 Titanium/Mac2TiVo.app/Contents/MacOS/mac2Tivo

  Expected in: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation

I guess that was some kind of progress, but not the kind I was looking for.

I had already started trolling the forums. There was absolutely no documentation on Mac2Tivo in the Toast kit. The Toast manual they include as a PDF was published in Dec 2008, and in the updated kit it was exactly the same. Maybe they only pay for a manual once a year, and the allotment was up for this year.

Not much luck on the forums. I went so far as to create an account and post my woos on the tivo-tools forum, which I rarely do. How about you?

I also sent an email to Roxio support.

I was getting pretty suspicious about the _NSInvalidArgumentException symbol not found. Why wasn’t it? It was almost like one of my dylib’s was damaged. I thought, maybe I’ll try it on Leopard (the server is still running 10.4.11). But my wife was using my macbook and I didn’t want to disturb her too much, because she is already developing a serious case of laptop envy (I have a new macbook; hers is a 4-year-old ibook g4). So far this exercise had only cost $69, and I didn’t want to add another $1200 in collateral damage.

I started targeting my searches directly at Roxio.com, and came up with only one really serious thread on Mac2Tivo. Lots of people were having trouble, and the response from Roxio support was nil. They had a general procedure, like reboot your tivo, reboot your router, say what?

I kept looking for System Requirements, but it was one of those things that you only find when you’re not looking for it. I did find it after some more trolling, and sure enough, it said that Toast 10 requires leopard. But it is a lie. Only Mac2Tivo seems to require it – all the other programs seem to run fine on Tiger. Oh well.

I eventually recovered my laptop, which is running leopard, and installed the package there. This time, I was rewarded with the following screen:

 

Mac2Tivo.jpg

Now that looked more promising! I dropped a couple of movies I had recorded on our point & click Lumix camera, and voila, both tivos were happy (I have a series 2 and a tivo-hd). The only thing you have to do on the Tivo side is Enable Home Network Applications under the Music, Photos, & Showcases entry accessed fom the Tivo Central home screen.

Thus encouraged, I dropped a full-length movie in and it transfered without incident. It takes a bit of time to transfer the movies. I used a movie compressed as an mpeg4 using the apple-tv/ipod H.264 format. Elgato has a nifty little USB hardware encoder that makes this much faster, but it still takes about about 3 hours to compress a 2 hour dvd if you roll your own. Of course, you can always just buy the movie from the iTunes store if it is available there, but it will still take a while to download 2 or 3 GB’s, unless you are lucky enough to have a very hi-bandwidth internet connection.

What’s the lesson here? I think the lesson is that contextual debugging is the hardest. Here I was looking at stack dumps, when the problem was the platform. Had I purchased the software in a box, the system requirements would have been printed right on the side of the box. However, popping from an email into the order page was a different story – there was never any mention of the OS requirements, and so I fell into a completely preventable trap.

Roxio has always been a leader in burn tools. There is little competition on the mac. I’m thankful that they provide some Tivo capabilities that Tivo itself has been unable to provide for many years. So ultimately, one can’t complain too much – there is no where else to turn to at this point.

Ultimately, why go to all this trouble, you ask? Well, aside from the obvious wow factor of being able to easily select and show off your home videos on your mega-size home theater (mine is more modest), there are some other wonderful benefits. For example, you can download the lectures from iTunes University and save them on your Tivo, which will keep your place as you work through the material. You can download and save youtube videos and play them at a party without going through the horrible and confusing Tivo youtube search screens, which confusingly and silently omits videos you can see on you computer but not on tivo, and has no facility for bookmarking or saving your favorites for showing off later.

You could buy an AppleTv device, but if you already have a tivo, why bother?

One obvious limitation is the size of your tivo’s hard-drive. Newer tivo’s allow connection to external SATA drives, or you can replace the internal drive like I did. But that’s a story for another day.

GitX is very nice

I’ve been learning to use Git [1], but today I’m a bit more excited about it after setting up GitX on my MacBook. I’ve been using source management systems for a long time, but rarely have I found such a useful visual tool for garnering such a detailed overview of the commit streams.

To check out the tool, I suggest just pulling down a copy of the git source [2], install GitX, and then drop the folder where you cloned the git source repository onto GitX. You will be amazed!

[1] Git package for OS X 10.5.x can be found here.
[2] git clone git://git.kernel.org/pub/scm/git/git.git

XmlVm

Developing iPhone Applications using Java

Java iPhone apps!  See XmlVM.org for more info.

Linus Torvalds talks about GIT at Google

Tech Talk: Linus Torvalds on git

Good introduction to GIT from the master himself …

MarsEdit

I’m posting this entry from my mac using MarsEdit – which is a blogging client. Makes it a bit easier. If you want to try it, you can download it from here and get a 30 day free trial. Costs $30, though.

One thing I’ve figured out is that for a user to post and publish an entry, they must be assigned the role of Editor or Administrator at the minimum.

A debugging tip: go to the Window menu and select Network Log so you can see what is happening when the post is sent.

Some problems – when attempting to post to a account with insufficient privileges, the program prompts for account/password over and over again. Another time a post simply hung with a spinning gear. Had to kill the program from the finder.

Lacking features – no WSIWIG html editor, and no spell check.