Creating easy to remember passwords
blog.rabidgremlin.com
blog.rabidgremlin.com
A modification that doesn't have this problem and keeps passwords retrievable using a single master password, but does require using a helper program, would be to take a cryptographic hash from the concatenation (master_password^site_id) and deterministically generate the desired password from the hash value.
Quick Python example:
"".join([chr(((ord(x)-33)%94)+33) for x in hashlib.sha256("hunter2"+"facebook").digest()[:8]])
The technique in my post offers much better protection then most people are currently getting.