I'm very happy with
Dreamhost. I was with Ripplehost last year and didn't really like their interface (CPanel) nor their support. Plus, there was more downtime than I was expecting. The lack of shell access was also limiting.
Dreamhost has ssh access, AFP support (so I can mount my hosted disk volume locally on my Powerbook) and more bandwidth and disk space than I know what to do with. Their base price is more than some (something like $9.99/mo) but I signed up with coupon code 777 and it was only $9.24 for the entire year ($0.77/month.) If this deal is still active, you'd be crazy not to give them a try. Support so far has been fantastic, and I haven't had any major outages or downtime since I signed up.
Here's their plan comparison, the "Crazy Domain Insane" plan is the affordable one that has almost any feature you can think of.