Archive for March, 2010

 And It Came To Pass

…in those days, that there went out a decree from Caesar Augustus that all the world should be taxed. And all went to be taxed, every one into his own city. — Luke 2, KJV

I guess the connection between taxation and the census is as old as the human race. But for roughly 150 years in this country (before we had an income tax), the only real purpose for the census was apportionment of representation in the House of Representatives, and, in that context, the only data necessary to the task are the raw numbers of population in each state. This is a legitimate function of the government, I suppose, to the extent that the Constitution itself is legitimate (which is certainly open to debate). But I object to what the census has become. It is now much closer to what we had when Cyrenius was governor of Syria than what the Framers had in mind when these words were ratified in the Constitution:

Representatives shall be apportioned among the several States according to their respective numbers, counting the whole number of persons in each State, excluding Indians not taxed… The Number of Representatives shall not exceed one for every thirty Thousand…

Clearly the reason for the census was in support of this numbers game prescribed by Article I, Section 2 of the Constitution, but look at what it has turned into: a competition between the states, each jockeying for the best position at the federal trough. And the first notice sent out by the US Census Bureau last week made no attempt to hide this perversity. Instead it celebrated it, pointing out that billions of dollars in federal funds were at stake, and that not participating would put your state at risk of not getting its fair share. Sorry, for people like me, that is not the proper incentive. It makes me want to drop the thing in the shredder rather than cover it with personal information about myself and my family and then mail it off to some faceless bureaucrat.

The census form I received states that “Federal law protects your privacy and keeps your answers confidential,” although there are numerous exceptions and exemptions outlined in Title 13, Sec 9 of the USC that governs the census. It goes on to say that “The answers you give on the census form cannot be obtained by law enforcement or tax collection agencies. Your answers cannot be used in court. They cannot be obtained with a FOIA request.” Despite these claims, the form fails to include a simple Privacy Act statement, mandated by USC Title 5, Sec 552e, which requires that “Each agency that maintains a system of records shall … inform each individual whom it asks to supply information, on the form which it uses to collect the information … the authority (whether granted by statute, or by executive order of the President) which authorizes the solicitation of the information and whether disclosure of such information is mandatory or voluntary.” This has been the practice since 1974 when the Privacy Act was passed, three censuses ago, so how can an agency that is already hypersensitive to the privacy concerns of American citizens ignore this requirement?

The form also says that anyone who does not provide the requested information is liable for a $100 fine. You know what? My personal information is worth more than that to me, so go ahead and fine me.

 HTPC Results

[This is the final part in a series on building your own HTPC]

The primary reason I set out to build a Home Theater PC was so I could get rid of DirecTV. I’ve been a subscriber since 1999, and I’ve never had any complaints about their service, apart from the incessant rate hikes. I’ve made a few successful attempts to stave off the endless increases. A couple of nasty letters and a few hours spent on the phone with their “Customer Retention” department have worked in the past, but I’m just tired of having to fight that battle. Their rates have doubled since I first bought the service, with no noticable improvement in the content. I still have a single decoder box, no built-in DVR, no premium channels, and I’m paying $60 a month for the dozen or so channels that I watch on a regular basis. Couple this with the fact that the satellite feed, while digital, is not HD, so the over-the-air local channels look and sound a lot better and it’s just not worth it. So bye-bye DirecTV!

Another reason for tackling this project (besides being a geek and just wanting to try it) was to see how much I could consolidate the jumble of hardware and cables in my living room. A stack of boxes that used to include the satellite decoder, TiVo, DVD player, and a Roku has been reduced to just two devices: my A/V receiver and the PC. So this is a significant improvement. The software interface has been simplified as well. The Boxee interface (see image) now includes the DVD, Netflix streaming (under Apps), and all other content that used to be served up by Tivo (Photos, Music, recorded shows and movies). I think a single interface is an improvement too. Now, if Boxee just had a built-in PVR, it would be absolutely perfect.

But the solution I’ve come up with is not too bad. Pressing the green button on the MCE remote launches Boxee, and the blue button starts the GB-PVR software. Once the PVR has been configured with season passess for your favorite shows, there isn’t much reason to call it up unless you just want to watch live TV. The shows are dumped to a location that Boxee is configured to scan, so new recordings should automatically show up in the Boxee interface for viewing. The one encumberance that I can’t eliminate at this point is that Boxee will not delete anything. So once you’ve watched a show, the only way to delete it is from within GB-PVR. This is a minor inconvenience, and I believe it is a planned enhancement for a future Boxee release, so it should correct itself eventually.

The PVR interface is different from TiVo, but seems to provide all of the same functionality (including a To Do List). I did not previously have dual tuners in my TiVo, so that’s a huge improvement by itself. There are frequently two shows on at the same time that we want to watch, and now we don’t have to miss them anymore.

Overall, I have been impressed with the performance of this rig. It seems to have plenty of horsepower to spare — even when recording two shows simultaneously, and watching streaming content, CPU usage hovers around 50 percent. I had concerns that the hard drive might be too small (and I’m sure some day it will be), but with about 60 shows and 3 full-length movies on it right now, it’s only 33 percent full. It also runs completely silent — I have to lean down and put my ear right in front of the intake to hear the fans at all. The remote takes some getting used to, and I’m still considering alternatives that would provide mouse and keyboard inputs, because there are times when you need to type something into a search box, for instance, and Boxee’s virtual keyboard is at least as painful as TiVo’s. Or maybe I’ll just wait until the Boxee remote (unveiled at CES in January) becomes available. In the meantime, there is a Boxee app for the iPhone and iPod Touch that I really like, but I don’t really want to be wearing out the battery on my Touch just to have occasional keyboard access.

I am pleased with the results, and I think anyone who builds this rig will be too. If you have any questions, or run into any problems with the instructions, please leave me a comment below.

 HTPC Install

[This is Part IV of a series on building your own HTPC]

Once you’ve assembled the hardware, and collected the software, it is time to begin your install. You can expect this entire process to take between one and two hours to complete. Please follow these instructions:

  1. Install Windows
    It is assumed that you partitioned your hard drive as specified in the previous post. When the Windows install is complete, don’t forget to format the D: drive with 64K block size. You will also need to disable User Account Control, and the Windows firewall to save yourself some headaches later on.
  2. Install Hauppauge software
    Insert the CD that came with the Hauppauge tuner, choose your language and then install both the drivers and WinTV (although WinTV may actually be optional, I’m not sure) and then reboot
  3. Install Gigabyte motherboard drivers
    Download the latest drivers from the Gigabyte web site. It is assumed that you have already done this on a different machine with internet access, since without the LAN driver installed, you will not be able to connect with the HTPC. So download these drivers in advance and either burn them to a CD, or put them on a thumb drive. Specifically, you will need the Realtek HD Audio, which provides Dolby Pro Logic II support through both the HDMI connection and the optical digital audio port (if your receiver has one). You will also need the chipset driver package which includes the ATI Radeon 4200 HD video driver necessary if you are driving a true 1080p HD display. Install both of these drivers and then reboot.
  4. Install GBPVR
    Early on, I had some issues with GBPVR crashing. If while configuring it, you run a channel scan, and for some reason it does not detect all of your local channels and you force a rescan, there is a bug that causes it to crash when you start mapping the channels to your Electronic Programming Guide. I recommend you join the GBPVR forum. There is a wealth of support information there which is publicly available, however, the search function is a lot easier to use if you are a registered user and logged in. The Boxee forum uses the same software, so the same is true for it. I recommend joining both.

    I also recommend joining Schedules Direct and paying the $20 annual fee for their TV guide data. There are a couple of free sites out there, but I can’t vouch for the quality of their data, and I can say that Schedules Direct is already integrated into GBPVR, so setting it up to pull your TV listings every night is a snap.

    Download GBPVR (I am assuming version 1.4.7) and install it, and follow these instructions to configure it.

    Now install the Visual J# redistributable, followed by the WizRecordingRename utility, which you will install into the GBPVR folder. This utility allows automatic renaming of the recording files that GBPVR creates. This is important because Boxee will automatically catalog the recordings and download IMDB data about them, but only if the files follow Boxee’s particular naming convention. Once you have installed these two items, copy the PostProcessing.bat and the WizRenameRecording.xml files into the GBPVR folder.

  5. Install Boxee
    In order for Netflix to work within Boxee, you will need to install Silverlight, so do that first. Also, to make sure you are using the version of Flash that Boxee expects, go to http://www.boxee.tv/flash and install it from there. I can tell you how critical it is that you get the right version of Flash. There are a lot of versions out there, but only one that makes Boxee work. Lastly, install the Boxee beta (I am assuming version 0.9.20.10711).
  6. Install EventGhost
    I struggled with getting the Hauppauge-included MCE remote to work correctly. The source of the problem is that the IR receiver plugs directly into the Hauppauge card, and is not a USB device, so it uses special drivers and Windows does not natively recognize the events that are generated when you push buttons on the remote. As it turns out, you don’t need anything beyond the drivers on the Hauppauge CD. You just need to disable the IR program that gets installed with WinTV, by removing it from the Startup folder, and then install EventGhost. Run EventGhost and go to File -> Options and set it to autostart and minimize to the system tray when closed. Then copy the HTPC.xml file to your Windows 7 user folder and load it into Eventghost (File -> Open…) — it then becomes your default config file and will be loaded automatically every time you start the machine. I have it set to autostart Boxee too, but you can remove that if you like.

[Continued in Part V, The Results...]

 HTPC Software

[This is Part III of a series on building your own HTPC]

I started out thinking this would be a Linux-based PC, but two things changed my mind. First, I’ve written before about my travails with Linux. I want to like Linux, I really do. But I can’t. Mabye I’m just not geeky enough, or maybe I’m just lazy, but configuring the guts of an operating system is not enjoyable, and I will avoid it every chance I get. If that means I buy Windows, so be it. Second, and more importantly, at the time of this writing streaming Netflix movies to a Linux box was still not an option — this was a deal-breaker.

So I began with an old OEM copy of Windows XP for this build. Let me say that you can get this build to work with XP SP2 (I know because I had it working, but then got lazy about my configuration management and wound up in tweak hell that I couldn’t seem to back out of), but you might be better off avoiding the hassles, and investing in an upgrade to Windows 7. This is the path I chose, and for the purposes of this guide, I am assuming the Windows 7 OS. But if you choose to go the XP route, I’ll just point out that SATA support is not native in XP. So you will need to obtain SATA drivers from the motherboard manufacturer, and create either an install floppy with these drivers, or a slipstreamed XP install disk with the drivers integrated. I won’t go into details here on how to do this, but I used a free tool called NLite, and it was relatively painless. It even allows you to remove all of the unnecessary Windows components, and I was able to get my install time down to about 18 minutes.

An important thing to keep in mind when installing Windows is that you will enjoy better performance by creating at least two partitions and putting Windows on one and storing your media on the other. I partitioned the 500GB drive into a 20GB C: drive and a 480GB D: drive. After your install, the first thing you should do is format the 480GB partition with a 64K block size (4K is the default). The larger block size lends itself to fewer and less frequent drive accesses, which will prevent jerky or choppy video when you play back recorded HD content, and drive fragmentation becomes less of a problem as well.

There are two main software components that you will be installing and configuring: Boxee and GBPVR. My goal was to integrate these two as much as possible since they are both free, relatively mature, products with more or less mutually exclusive, but highly complimentary, features. GB-PVR is, as the name would suggest, a Personal Video Recorder that uses the TV tuner card to record over-the-air television to the hard drive, and Boxee provides everything else from my list of requirements. These two packages were not designed to work together, but I’ve found that they can be made to play nice with each other, and perform satisfactorily — at least until something better comes along.

One caveat right up front: if you install Windows 7 and think you might want to play around with Windows Media Center, do that first. When you’re done playing with it, reinstall Windows and never run it again because when you run it you will be prompted to install all manner of helper apps that Media Center needs to function, and one or more of them prevent Boxee from working correctly. I learned this the hard way. Let me add that I like Media Center. I like it a lot. The user interface is the slickest and most sophisticated I’ve seen, configuration was painless, and it does everything! With one exception: the Internet TV module is severely limited and was enough to convince me that Boxee was a better choice. Although Boxee is still in beta testing, all you have to do is install it and play with it for a few minutes to see that it has far greater potential for future expansion.

[Continued in Part IV, The Install...]

 HTPC Hardware

[This is Part II of a series on building your own HTPC]

Let me start by saying that I did not compile this entire list of hardware through trial and error. Most of it came from Jay Taylor’s excellent blog over at AMD, and a big thanks to him for starting me off in the right direction. I bought all the necessary parts for the base system following the links he provided. This includes the chassis, motherboard, memory, CPU, hard drive, and optical drive. Beyond that, I started experimenting. Buying my own tuner cards, remote controls, antennas, etc., and returning a lot of it until I found the right mix.

While evaluating antennas, I tried an RCA amplified antenna that cost about $20. I was unimpressed. The signal was strong enough in a few locations, but it was generally a crap shoot. I then considered going to the other extreme and purchasing a Channel Master 4221, which got great reviews everywhere I looked. I even entertained the idea of building my own out of coat hangers. Both of these still might be future options, but in the end, a Terk amplified antenna in the $40 range seemed to serve my purposes. For those of you who have not yet jumped on the Digital TV bandwagon, I’ll point out that with the transition to digital, the channel numbers of your local stations have likely also changed. Most have migrated to UHF in the 20-40 range, so don’t expect to find them in their old locations.

My choice of tuner card was driven by both positive user reviews and the strongly desired feature of a dual-tuner on a single card. Not only was the Hauppauge 2250 cheaper than buying two separate tuner cards, but it takes less power and space inside the PC chassis. I also don’t have to worry about a splitter to feed two antenna leads because the splitter is internal to the card. This is a very attractive design. The card worked very well with the included WinTV software, however, I did struggle to get the included Windows MCE remote to work. I will cover this in more detail in my next post on software, but the problem is that the IR receiver plugs directly into the Hauppauge card, rather than a USB port, so the included drivers do not make the remote work exactly like a Microsoft branded remote would.

When it comes time to assemble your rig, I am assuming you know how to put a PC together (if not, you will find a bunch of step-by-step assembly videos on Jay’s blog), but here are a few lessons I learned that you might find helpful. The chassis is pretty small and cramped inside, so you will likely have to temporarily remove the power supply (it’s only a few screws) in order to mount the hard drive. The hard drive will come with a SATA cable that has a right-angle connector on one end. You will want to use this one as the motherboard connectors are pretty hard to get to once the hard drive is mounted. The power supply has a 2×2 power cable for the CPU (which attaches to the motherboard near the CPU socket), but the connector is a 2×4. Don’t let this confuse you (like it did me), just plug it into half of the 2×4 connector — it should only fit one way, so you can’t get it wrong.

So here’s your shopping list. I’m providing links to all of the hardware below for your convenience. (Disclaimer: this web site and the author are not affiliated with Newegg.com in any way. These links are provided as a convenience. Feel free to shop around!)

Item Part Description Price
Chassis HEC 7K09 (power supply included) $54.99
Motherboard Gigabyte GA-MA785GPMT-UD2H $94.99
CPU AMD Athlon II X2 240 dual-core (cooler included) $60.99
RAM Kingston 2GB of DDR3 1066 $43.99
Hard drive Western Digital 500GB Green $54.99
DVD drive Lite-On DVD ROM $17.99
TV Tuner Hauppauge DVR 2250 (MCE remote included) $129.99
Antenna Terk Amplified Indoor HD Antenna $37.99
Total $495.92

[Continued in Part III, The Software...]