Use a password manager. Password generating and storage is a solved problem: a password manager.
Seriously people, stop all schemes of creating hard to guess, easy to remember passwords. We are not made to remember passwords!
Password size is important, but less than having unique passwords for each service. It does not matter if your password is 100 bytes long, but you have it for every single service, and one of them stores passwords in plain text and gets hacked. And forget about creating a way to generate and remember different passwords for each service. It does not scale.
With a password manager, you need to remember the master password, and nothing else. It will generate unique, very strong passwords for each service, and you don't have to remember any of them. All my passwords are 64 byte or more, and I don't care if any useless service I use is hacked and all passwords leaks, because no other service I use will have it. And unless they are storing them on plaintext, good luck cracking a 64-byte password.