You could get a TV tuner for your computer. It's cheaper than a stand-alone DVR. The disadantage is that it is more complicated to playback your programs (it can be done, see the RoxBox thread).
There is also the DTVPal DVR which goes for $250. It's a one time payment, no paying for program listings. It's just for OTA TV, and for its program listings, it used the program listings that are embedded in the OTA signal. $250 isn't cheap, but if everything you want is OTA, it pays for itself fast vs. cable.