The best solution is a smartphone with keepass or something compatible with it. I do have a few memorized passwords.
However, I have a total of about 350 unique passwords, and there is no way to memorize all of them, with reasonable password complexity.
If I am logging in somewhere, I almost always have my notebook available, and I have keepass for it. If I don't have a notebook or smartphone, I am severely limited in what I can access. I think that is a reasonable tradeoff for my security. Beats getting my apple/ubuntu/sony account hacked.