well a) I was exagerating and b) I already explained that a decent 12 char password should have NO dictionary words and it should utilise symbols like $ and _ etc.
To put this in perspective: years ago I had to decrypt the NTLM password hive of an ancient Windows NT4 server in order to be able to migrate it over to a Linux system. A brute-force password crack on all alpha numerical characters plus ($#%@!?:;'.,-_*&) for passwords up to 14 characters (the maximum length supported by NT4) took about a week on a Pentium 600.
Note that that's not the time it takes to find the password for a user, but the time it takes to find the passwords for *all* users using any of those characters (in my case, it discovered 1497 out of 1499 accounts)
Although in the case of NT4, microsoft cut a lot of corners and made a number of very dumb (in hindsight) design choices. (e.g. instead of encrypting a 14-character password as-is, they chose to store & encrypt it as two seperate 7-character passwords. A 10 character password gets stores as a 7-character and a 3-character... Making them orders of magnitude easier to break than if they hadn't done so.)
Anyway, the password encryption algorithm used by Windows 2000 and XP is significantly more difficult, so at least they addressed those issues since they were first confronted with the cracking programs that could break NT4 in days rather than the 'tens of thousands of years' Microsoft's CSO initially claimed when NT was launched.
That said, most *applications* use significantly less rigorous password encryption than the operating system itself does, and typically take less time to break.
You can also cut down the time significantly by using a dictionary search first, rather than a pure brute force... Especially if you have a large dictionary file, and include lists of common first names, last names, etc. That's enough to catch the majority right there.