One of the uses of a TPM is to feed /dev/random on your linux box. I will not go into the political implications of TPM.
See also Matt Domsch’s blog.
Some of the following steps are specific to my HP ProLiant MicroServer, but most will apply to any modern linux and HW (one would prefer the TPM to be an integral part of the motherboard as opposed to a module).
While the current Smart-UPS (aka SMT) range of UPS from APC has much fewer variables exposed in a way that is useful for fancy apcupsd usage (you’ll find apcupsd in EPEL), they are still amply sufficient for home use. Basically, the UPS gives an estimated time left at current load and the remaining battery level. At home these are anyway the only two readings I want to trigger scripts on.
The must read Secure dynamic DNS howto has all the steps you need to set up DDNS updates with BIND.
What follows are some very terse notes for RHEL5, highlighting steps not directly obvious from that howto.