Something I've not seen come up yet: a password manager that's integrated with your browser is a good defence against phishing. Because it'll only offer passwords for sites that match the entry, defaulting (most often) to being the same domain, if you come across a phish then it won't offer the site at all. This is fairly similar to the "trust on first use" that SSH gives you, which some folk were wishing might have…
> which some folk were wishing might have existed for SSL certificates the other day Isn't this basically what HSTS + cert pinning does?
Pinning is more for the app case, HSTS more for the browser case.