I love my HTC Hero from Sprint. Wait, let me rephrase that, "I love running Android 2.2 on my HTC Hero from Sprint," and that is all thanks to the man (and related team) that is known in development circles as Cyanogen.
This isn't news for some of you. I personally jumped in with Cyanogen's first offering of Android 2.2 for the Hero, CyanogenMod (CM) 6.0.
However, the latest release candidate, CM 6.1 RC1 added some great functionality over CM 6.0, and now using Deca's kernel my Hero is not only running Android 2.2, but it is also getting better performance and battery life than my wife's personal Hero which is still running a stock version of Android 2.1 from HTC/Sprint.
My current setup uses the CFS #24 kernel (download and details on XDA) and SetCPU to overclock the phone to max at 633 MHz with the CPU governor set to interactive. Where CM 6.0 made my Hero seem actually usable again, 6.1 gives the Hero new life. Note, this is based on my subjective opinion that Sprint's stock 2.1 update really killed the performance of the Hero to the point of being nearly unusable as a phone.
Of course, you have to deal with the loss of HTC's beautiful Sense UI apps, but I have found some acceptable replacement apps: Handcent for IM, Winamp for music, Google's "News and Weather" for real-time weather updates, Google Voice for visual voicemail, CalWidget for viewing my agenda on the home screen, and TweetDeck for integrated social media.
However, I still miss having HTC's integrated contact management, and their calendar "agenda" widget is irreplaceable, both functional and gorgeous. So when I eventually break down and upgrade my Hero to something like the EVO 4G, I will appreciate having a phone with enough processing power to run HTC Sense UI on Android 2.2 and actually let me answer phone calls.