a good keyboard to me is more important than the machine (unless I were to start writing stuff that took days to compile)
Nothing does it for me except a Model M (unless I don’t have AT or PS/2 connectors - then its a Model M from Unicomp!).
What are some good computers specifically for coding?
Depends on what and where you are coding.
For my workshop, I have planned a BookPC form-factor machine with a 1 GHz Celeron and 512 Mb of RAM (though this may change to mini-ITX if I find it too slow - then again I started out programming with a TRS-80 Color Computer 2 w/ 16K and a cassette tape drive running at sub-MHz speeds -mumbly- years ago, so nothing is too slow for me!).
Unless this is going to be your main PC to use in addition to coding, any machine made in the last 10 years will probably be OK.
For your display though, choose carefully. I personally have on my office machine dual 22" LCDs with matte-finishes for glare reduction. I prefer a dual display for coding, since most of coding outside the Arduino has been web development with LAMP; having two monitors let me keep a browser open in one, and my code window in the other; change the code, SFTP to the server, and refresh, without having to juggle windows.
If I had my druthers and the desk space, I would have a 42 inch LCD front and center, and two 22-24 inch LCDs in portrait mode on the “wings” in a triple head config, but that’s not happenning any time soon…
If, however, this is primarily for Arduino development, keep in mind that if you plan on using another environment for external interfacing (ie, Visual Basic, Python, Processing, etc) where you might need both the Arduino IDE open and an IDE for the other environment, a multi-head setup can be useful there, so if you can afford it, and you like the sound of it, then do it. You’ll probably like it (some people don’t, though, so if you have doubts, see if you can demo such a system first).