Months Archive March 2009

 
 

Building the Ultimate Media Center, Part 3: Backup

Describing what I’ve been working on so far as a media center may not be quite sufficient. Now a days term “home server” seems to do it a bit more justice, and if a home computer is on full time you’ll certainly want to get the most out of it. If you’ve ever wanted to do backups within your home, you might’ve looked into Windows Home Server or Apples Time Capsule / Time Machine setups, but neither is quite what I was looking for. First off, I don’t really want a Windows box in (mostly) mac home, so that’s out. Time Machine alone doesn’t do everything I have in mind, although it does play an important part. I’ve had a lot of backup plans in the past, but none were quite “perfect”, which got me wondering what a perfect backup plan would look like.

What do you want in backup plan?

Just like in creating software, when setting up a backup plan it’s important to know your requirements ahead of time. Otherwise what are you working towards? So what do I want this backup plan to be able to do…

  • Make it so that there is no single point of failure for any important data
  • Have on site and off site backups of everything
  • Backup and sync core data between macs (settings, address book, calendar, keychain, etc)
  • Some kind revision system for all text files. Something like git or svn where you can rollback changes
  • A local redundant hard drive array to guarantee no data loss if a single drive fails
  • Backup all core documents on various time intervals (daily, weekly, monthly). That way if I mess up a file and don’t realize it for a week I’ll be able to grab the version a month ago.

Settings, Calendars, Address Book and more

If you have multiple Macs Mobile Me is a good choice for easy syncing between macs. The system has had a lot of problems, and continues to struggle with performance. iDisk, the webdav interface to your MobileMe account is painfully slow, and continues to be. Just cleaning out a few hundred empty folders was enough to stall it earlier. The online image gallery MobileMe has is one of the better one’s seen, and if you use iPhoto it’s a convenient photo storage location.

Just so that all my calendars and contacts aren’t confined to a single system (the Mac ecosystem), I use Spanning Sync to keep my Google Calendars and Google Contacts in check with iCal and Address Book. My girlfriend and I share calendars with each other on Google, and this way any changes she makes show up on my iCal, and any I make on iCal show up on hers. Also, whenever I get Google Calendar invites to my email address, they show up on Google Calendar then get syncd back to iCal. 2 way syncing is the way to go!

Complete Backups With Time Machine

Time Capsule is powerful and dead simple for full system backups. The way it works is simple: all macs on a network will have Time Machine (a program that ships with Leopard) enabled and set to use the Time Capsule hardware. Every hour or so, changes made to the core and specific folders will be pushed from the client computer (in this case my laptop) to the Time Capsule. You can specify which folders to watch for this as well. You might not want it watching your Downloads folder or others that are similarly volatile, but that’s easy to change. The first time you back up everything to Time Capsule you’ll want a hardline to it rather than doing it over a home network (even if it’s wireless N). Transferring your entire computer initially could take a full day if not, so be sure to plug it in. The hourly backups after that work wirelessly though, as they are much much smaller.

Apple’s Airport Extreme has the ability to add a remote hard drive which can serve as a Time Machine drive as well. The nice part about this is that you can use an old external hard drive you have, or choose any drive out there. Leopard didn’t originally allow you to sync with drives like this, but in one of the recent updates it was enabled. For me, after the initial backup the incremental backups are very quick if not much has changed.

Running TimeMachine for the first time is a trippy experience. You “go back in time” to the point where you want to see a file, then you can restore it. This covers a few of the requirements such as versioned files locally and full system backups with the ability to restore on any Mac.

Backups to a local RAID (or Drobo)

Finally, the first step that the Media Center can help with. Whether you go with RAID, a Drobo or something else, the backup procedure to it will be about the same.

The easiest way I’ve found to do backups to this is with rsync and crontab. Here’s how it works: Your media server will have a series of scripts setup to run daily, weekly and monthly. These scripts will do all the heavy lifting of the backup — grabbing files from every computer on your network you want to backup and moving them to the redundant array.

So firstoff the media server should be setup to backup everything from the computers on the network. That’s easy actually. On each computer you want to back files up from, go into System Preferences > Sharing and enable “Remote Login”. This will allow the media center to ssh into each laptop. Backing up using rsync can be done by mapping drives in Finder and using those paths (/Volumes/adam), or by using SSH. With SSH you don’t have to map the drive beforehand, so it is the preferred method.

On the media center, open up a text file. This will contain everything you want to copy from your client computers, and the path (on your media center) that you want to store them in.

rsync -aE --delete adam@link.local:Desktop /Volumes/Drobo/Users/adam/current
rsync -aE --delete adam@link.local:Documents /Volumes/Drobo/Users/adam/current
rsync -aE --delete adam@link.local:Movies /Volumes/Drobo/Users/adam/current
rsync -aE --delete adam@link.local:Pictures /Volumes/Drobo/Users/adam/current
rsync -aE --delete adam@link.local:Processing /Volumes/Drobo/Users/adam/current
rsync -aE --delete adam@link.local:Sites /Volumes/Drobo/Users/adam/current

Note that the destination (the 2nd path) is the same. That’s just because it’ll actually store the documents folder in “/Volumes/Drobo/Users/adam/current/Documents”. The -a option specifies “Archive”, which is actually shorthand for a few other options. It will recusively copy all directories, copy symlinks, preserve file permissions, preserve owner and groups, preserve file times preserve special files. -E preserves executability, while –delete deletes extraneous files — like those that were deleted. Save this file somewhere on the media center as a .command file. I kept it simple – backup.command. You should be able to run this script by just double clicking on it now. But there is a one major problem — authentication.

Setting up SSH keys

By setting up SSH Keys you can automate the authentication from the Media Server to any clients you want to backup. The way you do this is very easy. On the Media server, run the command ssh-keygen -t dsa. Go with the defaults, but choose a passphrase you can remember. Copy this file from the Media server to the computer you want to backup FROM. Since you should already have SSH setup, something like this should do the job.

llink:~ adam$ scp ~/.ssh/id_dsa.pub adam@link.local:~/.ssh/authorized_keys2

If you already have an authorized_keys2 file, you’ll want to add the contents of id_dsa.pub to it instead of replacing it. After that’s updated, try SSHing to that client from the Media Server. You should get prompted for the passphrase (a mac prompt, not a terminal prompt). After you enter it and save it for later you should be able to SSH without any password going forward.

Setting it up to run automatically

Not worrying about backups is the whole point of this entire system, so running it automatically is essential. Luckily Unix systems have an easy way of doing this using cron jobs. To open up the list of cron jobs, just enter crontab -e in a terminal window. This will open up the cron file using VI. Editing in VI can be a bit annoying without knowing the comamnds. To edit it you don’t need to know much VI though. Just hit “i” to go into insert mode, where you can start typing. Each line you enter is a single scheduled cron job with a very specific format. For example, here’s a line to run a script every day at 3:30am:

30 3 * * * sh ~/Dropbox/scripts/backup.command

The “30 3 * * *” part deals with when it should be run, while the part after that is what to run. Here’s what those first 5 options translate to:

  • 30 – minute to run job on
  • 3 – hour to run job on
  • * – Day of the month to run job on
  • * – Which month to run job on
  • * – Which day of the week to run the job on

It’s a bit tricky to remember at first, but it’s a very simple scheduling system. For example, if you want to run something on sunday (the 0th day of the week) at 5:30 am, the parameters would be “30 5 * * 0 …”. Here’s my full crontab that I’m using (some of these scripts I haven’t discussed yet, but we’ll get to later).

30 3 * * * sh ~/Dropbox/scripts/backup.command
00 5 * * 1 sh ~/Dropbox/scripts/weekly.command
00 6 1 * * sh ~/Dropbox/scripts/monthly.command
30 6 * * 1 sh ~/Dropbox/scripts/external.backup.command

The weekly and monthly scripts will just take a snapshot every month rather than every day. Nothing much to those scripts — just removing the last update and copying a snapshot. The monthly script is exactly the same but with “weekly” changed to “monthly”. The point of this is that if anything big goes wrong, you’ll have a backup locally of the original.

rm -rf /Volumes/Drobo/Users/adam/weekly/
cp -pR /Volumes/Drobo/Users/adam/current/ /Volumes/Drobo/Users/adam/weekly/

Versioned changes with Dropbox

DropBox is probably my favorite part of all this. After signing up for DropBox, you install a small program on each computer you want to use it with. It’ll create a DropBox folder at a location you pick (I went with the default ~/Dropbox). Anything you add to this folder will get synced up to the Dropbox service. What’s extra-useful about this is that all files will be versioned. I’m storing my Documents and Sites folders in here and backing up daily. Even if I haven’t committed site changes for something I’m working on, it’ll still have a daily revision of changes.

I have a few other commands in my backup.command file that copy things over to a DropBox folder on the Media Server.

rsync -aE --delete /Volumes/Drobo/Users/adam/current/Documents ~/Dropbox
rsync -aE --delete /Volumes/Drobo/Users/adam/current/Sites ~/Dropbox

One really nice part about Dropbox’s desktop client is that you can limit the upload speed. With RoadRunner my upstream is capped to about 70k/s when it’s in a good mood, and maxing it out will usually slow down any downloads. Being able to cap it to 10k/s is very useful in my situation.

Backing up your backup scripts

You’ll notice that my backup scripts where in my Dropbox: ~/Dropbox/scripts/backup.command. Not only does this mean that you’ve backed up your scripts (always a good practice), but you can change your backup procedure from anywhere you can access Dropbox! This is so simple it’s one of the most effortless things to setup. You can also copy the contents of your crontab file

Add this line to your crontab:
@daily crontab -l > ~/Dropbox/crontab.txt
“@daily” is shorthand for “everyday at midnight”. This is a nice way of archiving any changes you make to your crontab. With the other backup scripts you can make changes on any computer and the Media Center will pull them in thanks to DropBox. But for the crontab you’ll actually want to make changes directly to the Media Center using the “crontab -e” command.

External backups of everything else

DropBox is free up to 2GB making it excellent for documents, but not very realistic for media. They do offer a plan up to 50GB for $99/yr, which blows MobileMe’s 20GB plan out of the water. Most the use I get from MobileMe is in syncing computers though, so I’ll keep it going for that. For now I’ll stick with MobileMe for my larger media backup as well, although I can tell you now I’m not exactly happy about it.

One of the downsides of MobileMe is that it doesn’t automatically mount itself on startup. Normally you have to click on it in Finder to mount the drive. Only then it’ll show in “/Volumes”. You can open up Script Editor and create a small app to do this though. Just copy this and change it to use your username and password.

tell application "Finder"
mount volume "http://idisk.mac.com/myusername/" as user name "myusername" with password "mypassword"
end tell

Save it as file format “Application” with “Run Only” checked, but don’t check “Stay Open” or “Startup Screen”. Save this application somewhere then add it to your startup items.

The last part is setting up the “remote.command” script listed earlier. This will do all the work of copying everything remotely, with the exception of whatever uses Dropbox.

rsync -aE --delete /Volumes/Drobo/Users/adam/current/Documents /Volumes/myusername
rsync -aE --delete /Volumes/Drobo/Users/adam/current/Backup /Volumes/myusername
rsync -aE --delete /Volumes/Drobo/Users/adam/current/Desktop /Volumes/myusername/Documents
rsync -aE --delete /Volumes/Drobo/Users/adam/current/Movies /Volumes/myusername
rsync -aE --delete /Volumes/Drobo/Users/adam/current/Pictures /Volumes/myusername
rsync -aE --delete /Volumes/Drobo/Users/adam/current/Sites /Volumes/myusername
rsync -aE --delete /Volumes/Drobo/Books /Volumes/myusername/Documents

This just runs weekly everything here doesn’t change that much. The Pictures directly is the main one that’ll be updated, as it’s a single iPhoto file that changes often.

Woh, that’s a lot. Did we miss anything?

Well, two things were skipped — Music and Videos. I have a decent sized music collection, and I tend to archive my DVDs for use with Plex. Backing up 2TB of data remotely when you’re limited to 70k/s upload speeds isn’t exactly possible. What I am doing is storing all my media on a Drobo which protects it against a single hard drive failure (maybe more, depending on when the failures occur). My TimeMachine drive is actually a 500gb drive split – 200 for Time Machine and the rest for media backup. Every night the Media Center pushes all music from the Drobo onto this external drive. At least that way all my music is protected in case the Drobo itself fails. There’s no external backup for music, but I’m OK with that. If I was a little more paranoid I might archive weekly and leave the drive at work or something, but that’s where I draw the line.

That leaves one gaping hole – the movie collection this system was for in the first place! For now I’m content with being protected against a single HD failure with the Drobo, but if anyone has any suggestions on how to back this up I’m all ears. Also if you think of anything else I missed, or just something I could do better then please leave a comment!

Did this help?

If this article helped you, please sign up for DropBox! DropBox was in beta for a while, but now it’s open and anyone can sign up. You get 2GB of space just for signing up. They have the added bonus of increasing your space by 250mb for everyone you refer (up to 5GB total), so by signing up you’ll give me more space to experiment with. It’s easily the best backup service I’ve used, so I’m looking forward to seeing how it grows.

Building the Ultimate Media Center, Part 2: Plex

If there’s a killer app out there in the media center world, it’s Plex. Built on the long running XBMC, Plex is a fork of the project optimized to run on the Mac. XBMC has been around since the first Xbox, making one of the most established media center platforms out there. It’s long outgrown the console however, and now serves as the core for projects like Plex and Boxee. It was also featured on a recent FLOSS Weekly episode which is worth a listen. With lots of recent talk about Boxee, I thought I’d add Plex to the conversation with a little talk on why I think it’s the best media center software available.

Plex - Home Screen

Media Management

Like other projects based on XBMC, Plex has built in capacity for managing your media collection. This enables Plex to have an internal listing of what movies you have available in a much nicer format than the typical folder structure. Within Plex you do this by adding sources (in the form of folders containing files) and specifying what type of content resides there (movies, tv shows, music videos). Plex even allows for different sources to pull down the information on the video — from IMDB, OFDB, MovieMaze, TheTVDB, TV.com and many more. If you want to pull data from another site, it can be added using Python, so if a better movie database comes out, it’s just a matter of writing an adapter for it. Plex uses the file name or folder name to look it up, so it’s important to name your files correctly and add the year the movie/tv show was released. You can do this manually from within Plex as well, but it’ll find your media on IMDB if your files are named correctly.

Plex - Movie List View

One issue that always come up when crawling a media collection is varying file format and folder structure. Chances are not all of your videos will be in the same format. Some might be single file avis, mkvs, or they might be in multiple small files (disc1, disc2), or even in DVD rips (in a VIDEO_TS folder) or Blu-ray rips. If you follow Plex’s conventions, all of these can be used and you won’t even have to concern yourself with it later on. Here’s a sample folder structure for this setup:

/WALL.E (2008).mkv
/Wanted (2008)/any_file_name_disca.avi
/Wanted (2008)/any_file_name_discb.avi
/Waltz with Bashir (2008)/VIDEO_TS/* (DVD contents here)

To Plex all these will be listed the same, with IMDB show descriptions, artwork, genre listing and even actor/actresses if you want. When you play “Wanted (2008)”, it’ll queue up all files in the folder and play them in alphabetical order. I sometimes notice a short skip when it transitions to the second video, but it may not be noticeable all the time. Playing the DVD file is very similar as well. Upon selecting it to play, it’ll open you up to the DVD title menu, the same menu you’d go to if you were using the DVD itself! I’ve found there is a bit more overhead to using DVDs, as it has to put the entire menu into memory, rather than streaming the video from the start. This is really only an issue if you’re playing your media off a NAS. DVDs will still work, but they won’t be as snappy at starting.

Plex - Single TV Show - Arrested Development

TV shows are categorized by season number, but aside from that they work the same. Each season has it’s own folder, and within that each episode is named accordingly. You can choose to add in descriptions, or leave them blank. You can also combine episodes if multiple ones are in the same file.

/Arrested Development (2003)/Season 1/Arrested Development (2003) - S01E01 - pilot.avi
/Arrested Development (2003)/Season 1/Arrested Development (2003) - S01E02.avi
/Arrested Development (2003)/Season 1/Arrested Development (2003) - S01E03-04.avi

Like with movies, TV DVDs also work here, but you’d want to check the Plex Wiki for instructions on setting that up.

In addition to downloading cast, banners and artwork from movies and TV shows, Plex will also download TV theme songs. As you’re browsing through your TV shows you’ll hear a little snippet that Plex was able to grab for each series. One very relivieving thing to note is that Plex won’t touch your media folders or add new files to them at all. You know how you can set iTunes to manage your media library? There’s no similar setting on Plex. You have full control of your files, and Plex won’t alter them in any way. The additional files that Plex downloads will be stored your Application Support folder on the computer running Plex.

Library Searching

After all you files have been discovered by Plex that’s when the fun begins. Just browsing your movies and tv shows is a visual treat, and the Plex team has done an excellent job of making the experience similar regardless of what type of artwork is available. You can filter Movies or TV shows by year, imdb rating, director, genre, actor/actress, and even whether or not you’ve seen them or not. The ability to list what you haven’t seen, and even hide descriptions for new items, is extremely useful, serving as a bookmark for where you left off in a series. The Favorites system that was recently introduced gives one click access to some commonly used movies, shows or even apps. I’m currently re-watching a TV Series, so having in Favorites saves time. If you’re using a Harmony Remote, you can even setup a button to open favorite directly.

For instance, if you wanted to watch something with Christian Bale in it, you could filter your entire movie library to just movies he was in. Plex keeps an internal actor/actress list if you specify it when adding a folder (a source).

Plex - Actor Search - Christian Bale

3rd Party Plugins

With a little background in Python, anyone can create plugins to pull video from other sites. Since this feature was added to the .7 release of Plex a few months ago, there’s been a huge flood of these apps making Plex better and better. Some of the more popular include Hulu, Joost, MTV, Comedy Central, South Park, Ted, Escapist Magazine (Zero Punctuation!), Youtube, Apple Trailers, Pandora, CNN, The Onion, Daily Show, Colbert Report — the list goes on and on. The framework for building these apps allows full screen playback and scaling of flash videos, which just about all of these are. Need to click on a close button within the video so an ad doesn’t show? The plugin developer can even do that. These plugins have quickly become one of the most useful features in Plex for expanding it into new territory.

External Applications

You can setup any application to launch from within Plex. When this application is closed, Plex is reopened. This seems like a throwaway feature at first glance — why would you need to open up something else when Plex can do so much? But from a media center standpoint it helps having one more way of extending the livingroom feel without having to go back to the mouse/keyboard setup if you get it right. One application that is a prime candidate for launching in this manner is Emulaunch, and emulator launching program. Emulaunch fits in perfectly — running full screen and launching ROMs full screen. Emulaunch isn’t an actual emulator program, for that you’ll need something like SNES9x. Emulaunch will run the rom using whatever program it’s associated to run in (whatever program would run it when you double click). Without much trouble at all I was playing some Zelda a Link to the Past launched from Plex. If you were playing a specific game repeatedly, you could also set it up to run directly from Plex by launching the emulator you’d want to use and passing the game in as an argument. Since it’s possible to use Xbox 360 controllers (both wired, or wireless if you buy the controller adapter), this could easily become a new center for gaming.

Remote Control

I mentioned this last week, but it bears repeating — Plex has excellent support for apple remotes and Harmony remotes. I’d been using an Apple remote for the past year without any trouble actually. It’s so simple to use that you could give it to someone who’s never used Plex before and they’d be able to navigate around, play videos and even browse Hulu. To be fair, you can do all this with an Apple remote from Boxee as well. One of the advantages of Plex though, is that by holding down the menu button, you can get a list of advanced features which become important in managing a media collection.

You could be perfectly happy running Plex with an Apple remote for a long time. I still plan to use it when people are over because of how easily new people take to it. For general use though, I love having a universal remote — a single remote for all my devices. That’s where the Harmony One comes in. With the One, and other higher end Harmony remotes, you set all devices through the bundled software. I was shocked when I went to add my Mac Mini here only to find Plex as a listed device. This sets up the remote with all of Plex’s default keys, getting your running with Plex right away. There is also a screen from within Plex to set this up which can be set for the Harmony line of remotes.

Harmony Settings for Plex
Plex - Harmony screen


If you're wanting to learn more about Plex, it's worth watching the Plex Screencasts to get the hang of what it can do.

Building the Ultimate Media Center, Part 1: Hardware

If you’re a geek, chances are you’ve dreamed of having an amazing media setup that gives you a movie theater at home feel while providing all the options to extend it with your media. Well, thanks to the recent release of the Apple Mac mini, hardware and software (specifically Plex) are at a great point right now to do just about everything you could want on a single system. Since this past Tuesday when the Mac Mini came out I’ve been setting a system for this purpose. Hopefully my research can save someone else a little bit of time.

So what do I want to be able to do?

  • Watch TV
  • Watch DVDs/BluRay
  • Watch downloaded/ripped videos of any format (avi, mkv, DVDs, hd video)
  • Stream videos off the network (so we don’t have to have a NAS in the living room)
  • Have some sort of way to track ratings, seen/not seen, imdb information, genres, cast, and movie/tv show information automatically
  • Ability to watch 1080p video with minimal artifacts (if any)
  • Play video games through an emulator
  • Use a wireless Xbox 360 controller for games
  • Use a single remote control for media center, dvd, blueray, cable
  • Full surround sound (7.1, or 5.1 at least)
  • Watch videos from a variety of web-only sources (Hulu, Joost, TED, others)

All these things and more will be possible through this system, though it will take some setting up and experimentation.

Uhh, what don’t you want to do?

This is just as important to know when it can impact the core hardware. There is one thing left out of here – the ability to record from cable on a computer (a DVR). This is one feature that has always sounded cool in theory. MythTV looks impressive, but the idea of having something I setup control whether I see my favorite shows or not is one big variable. The hardware encoding and conversion don’t interest me too much at this point, and since I don’t plan on archiving media indefinitely, there’s no need for digital copy. Likewise for the ability to watch TV through a media center. I have a DVR setup anyway, so I don’t mind switching from the media center over to it for TV. Someday maybe these could be one — someday soon actually.

Hardware Matters

This system will be running Plex at it’s core, so it will have to be a Mac. Since it’ll be in the living room, and because we’re aiming for lowest power consumption the Mini is the perfect choice. Like all Macs it also has Bluetooth and IR capabilities so we can go completely wireless. Some of the other hardware will be completely dependent on what you want as the core of your system.

Generic Hardware

The TV, Cable Box/DVR Box and Receiver could really be anything for this. There are a couple of requirements, but nothing that even middle of the line items don’t have anymore. The TV should have at least one HDMI input, and doesn’t hurt to have a Component IN. The receiver should also have inputs for at least your cable box and a HDMI connector. It should also have at least two optical audio (toslink) connections. The receiver should also have 5.1 surround (2 front, 1 center, 2 side speakers), or 7.1 surround (5.1 + 2 behind). 6.1 Surround will also work (5.1 + 1 behind). Hopefully your cable box will have component or HDMI output as well as toslink for audio for full surround and HD video. The speakers and speaker cable can be whatever; there are better places than here for information on that.

Media Computer

Ah yes, this is the core of this new system isn’t it. This should be one of the new Mac Mini’s for a few major reasons. The CPU is slightly faster 2.0/2.26Ghz rather than 1.83Ghz. It also has a faster frontside bus. The graphics card is wildly improved from 64mb to 128/256mb. Old models only had 1GB of memory and it was not officially expandable. Now though, models start at 1GB/2GB and go up to 4GB (through 2x2GB chips).

That difference in the graphics card looks like it would make a world of difference when playing videos, but it’s just not the case. There is no hardware assisted decoding when playing media files so video ram doesn’t help out one bit. Adding more RAM is what makes all the difference actually. Maxing it out at 4GB is only an extra $50, so it’s well worth it. Plex does an amazing job of rendering videos that no other video software can play, but it requires some serious RAM to make it happen.

Audio

Only a few cables are needed to get things going. To output sound you’ll need a toslink cable as well as a mini to toslink adapter. The mini uses special combination analog/optical-digital audio jacks, so with toslink cables you can get full surround sound.

Video

The Mini has a mini-DVI port and comes with a mini-DVI to DVI-D connector, which is what we’ll use for video. Your TV might have a DVI input, but the quality won’t be the same as using HDMI. I found that my TV wouldn’t go to full 1080p with the DVI connector attached, but with HDMI it would. Luckily there’s plenty of DVI-D to HDMI cables on Amazon. You shouldn’t buy HDMI cables locally at all actually. Best Buy sells them for 10x the price on Amazon (or more).

Computer Devices

I already had a Apple wireless keyboard and a wireless Might Mouse, which do the trick. There’s no way I want cables running from my media center all the way to the couch each time I need to use it, so wireless is essential — as are rechargeable batteries. The mini found both of these devices when it was first started, which was an added bonus.

Gaming Devices

The Xbox 360 Controller is absolutely amazing. It feels more natural in your hands than any other controller, has a great combination of controls that allow it work with just about any previous system. Keeping with the previous trend, we also want this to be wireless. Using a wireless controller should be a breeze these days, but Microsoft decided to use a proprietary RF format so no one else could use it. Well, not without some hoops anyways. If you have a USB Xbox 360 controller it should work once you’ve setup some drivers for it. To use the wireless controller though, you also have to buy a Xbox 360 Wireless Gaming Receiver for Windows. This is a little USB device that allows you to pair your controllers with a computer. By default it doesn’t work on the Mac, although thanks to the great work by some smart people, the controller works great. The driver adds a preference pane where you can test out if the controllers are working too, which is great for testing too.

Remote Control

Plex has amazing support for the Apple Remote. Although the Mac Mini doesn’t come with it, it’s a perfectly good remote for controlling just about anything within Plex. It doesn’t control the TV or receiver though, you’d still need multiple remote controls. That’s where a great remote like the Logitech Harmony One comes into play. In addition to working on all my devices (and just about anything out there), it comes with a special setting in for Plex! The One also has a series of macro buttons you can use to do multiple things at once. For instance, using Plex requires changing my TV to the HDMI input and changing the receiver to the PC input. Doing this and going back to Cable is a one click process. There’s a few more bells and whistles you can customize for Harmony within Plex as well, once you’re up and running. For instance, you can add one touch buttons for things like “Watch Hulu”, or “My Favorites” or even “Watch The Daily Show on Hulu”. Not bad for a single click. You can also customize the buttons per context as well. So the number 0 might do something different when you’re watching a movie than when you’re in a listing of movies. Lots of possibilities there.

That’s all there is to it

Getting everything up and running was surprisingly smooth. It’s all dependent on a very small set of core programs and some smart settings to keep memory usage low. If you’re wanting to see if your setup can handle HD video, try downloading the birds scene from Planet Earth and see how it performs. If it doesn’t even run (and chances are it might not), try downloading Plex and trying it form there. You can also benchmark within Plex by pressing ‘i’, which can serve as a good gauge of how many frames are being dropped. I’ll save that for the next entry on media software.