I don't think it's absolutely necessary to include a bunch crazy characters in your password.
I'd suggest something easy to remember, yet hard to crack.
An example is, if you liked swiss cheese on a wednesday, and the 5th was your birthday.
5Swis5Chees5Wednesda^
That although looks relatively simple, is hard to crack unless the cracker knows your style of password creation. Using pure bruteforce, unless the guy knows you're gonna put a 5 in front of every word, capitalize every word, and put a ^ at the end, and remove the last letter of every word, it makes it very difficult to crack.
You can use your own variation, like, removing all vowels, putting '#2' between each word, etc.
Now I'm sure a lot of people are going "using your birthday number? bad idea! Capitalizing the first of every word? Bad idea! Now these would both be misconceptions because the cracker/hacker has to be able to 'predict' your pattern. An unsafe password would be:
June16 SecretPassword
Why? Because all a hacker would need to do is use a dictionary and capitalize every word. But when you take off a letter, it's no longer in the dictionary.
Why not just use a @C$*nc12m*r password? Because chances are you're gonna either:
1. Forget it. (Defeating the purpose.)
2. Write it down so you don't forget it (making it less secure).
If you can have a random password without either, then go for it
![Cheesy](https://bitcointalk.org/Smileys/default/cheesy.gif)
More power to you.
If you follow these steps, chances are it's not your password that's going to be cracked, but you're going to lose it some other way.