I actually got pretty productive with programming on my Treo through VNC (over 2G, not even Edge!). Something that just really has never been practical on my iPhone, due to the virtual keyboard.