But for me, I keep an encrypted text file and get the passwords my using emacs or vim. I generate passwords using:
tr -cd "[:alnum:]" < /dev/urandom | fold -w 16 | sed 10q
and with the result I may replace 1 character with what they call a "special character". To me that avoids a lot of worry.