Hungarian notation is ugly. The only exception is with interfaces, where most people think it's acceptable.
Linus sums it up well:
"Encoding the type of a function into the name (so-called Hungarian notation) is brain damaged - the compiler knows the types anyway and can check those, and it only confuses the programmer"