How to build your own digital satelite receiver and video disk recorder. Why would you want to build your own TiVo-like unit? So you can have features TiVo would never implement, like on-disk editing, digital archiving and network-based configuration. Add-ons to this project can make your home-built PVR into a DVD player, an MP3 player, and more.
Alas, the digital satelite part of this is only easy to do outside the U.S. DirecTV and other dish networks have proprietary (non-DVB) broadcast standards. It'd be cool if there were a DirecTV PC card, including a spot to insert an I'm-a-legitimate-DirecTV-customer card, but I'm sure their players have a bunch of mandatory features that'd make such an implementation difficult. In any case, there are plenty of TV tuner cards on the market with Linux support, so if you have straight cable or VHF reception, you can still build a PVR with a bit of hacking.
The hardware necessary is impressively low-key. It's easy to forget that standard television is low resolution, compared to what we're used to on our computers, and it's straightforward to display, record and manipulate TV-quality video images in real-time. Almost any old PC will do, just add the digital satelite receiver card and a remote control unit.
See also linuxdvb.tv and their FAQ.