I wrote a simple python program a while ago where it takes my master pw, domain of the site, and an answer to a personal question to create my password for a given site using a custom cypher.
Has actually worked really well for me, though the annoying part comes when you need to login to something on your phone and the cypher program is on your desktop PC.
Though this likely wouldn't be an issue if I had an android phone and could easily make a small application for it.