Sucks when you have flaky connectivity, though, and I've been gradually investing in stubbing out other services so I can "run" them locally/offline.
I also prefer a desktop so I can use more than 2 screens (my current config is 4, although the 4th is "just because"--3 is really helpful).
Laptops - Dual boot XPS 13 , Macbook Pro 13
Cloud - Windows Azure, AWS
Windows Home Server - Backup
Form-based
App Engine datastore (each entity row stores one function, by convention)
Used primarily for Javascript/HTML.
Modding it to store edit Python & Ruby - Adding remote deployment feature next (remote call to pull down the code from the web-ide site and push code out to deploy server..
Here, try it. http://mobilemetrics.appspot.com/ge/editor?ak=ADMIN
Controls:
'U' - Update current code block
'+' - Insert another code block after current block
'Ins' - Save new code block (when inserting a new code block)
Reorder code by modding the position number values.
You can render as HTML (click HTML link to see it rendered) or you can render as XML (which I use for developing Opensocial apps)
One at a time please! Oh, wait... :)
When laptops with 4 cores are common, 8 will probably be a cheap upgrade for the desktop, and then I won't be able to live without 8 cores :)
Finally wanted more screen realestate and a better body position, so dropped some money on a really nice system with dual 24" monitors.
Could have done the docking station, but instead went with a desktop + an eeepc. eeepc is great!
I highly recommend to anyone doing web development to have a full desktop + a tiny laptop. The netbook lets you realize how painful your app is on a slow, tiny screened computer!
I have a 13inch MacBook Pro but primarily use Ubuntu for development (don't ask why). I find the screen pretty good for coffee shop programming and when I'm actually at my desk I'm plugged into a nice 24inch monitor. Works great for me.
We're quad-quad-cores with 8gig of ram here. Tough to beat that power on a laptop. When I need to work from home I ssh/NXClient in..
But main system is 8 gig dual core ubuntu with 20" monitor, and second desktop with 20" monitor. Main desktop (athalon 64) has nice zip to it.
As someone else said, the main thing is the keyboard. I have the kenesis to reduce serious fatigue. I can't type long on anything else.
Then I got a Core II Duo 2.4 Ghz Dell running WS 2008 (fantastic OS I say) ... and with dual 24" and 19" monitors. I use synergy to mouse and keyboard across all.
The entire Dev and Prod environments are faraway linux boxen so technically I can do everything remotely.
Occasionally I take the laptop and stand by the window, where a platform serves as my "standing desk"
Otherwise - laptop... Strangely the best code I've written / I work quickest on a laptop in travel (on a bus / train / plane...) I guess I just get rid of all distractions and working there is actually better than any alternative :)
initial concept is pen and paper while out of office usually (i.e beach or cafe or somewhere casual) Develop concept and initial code is usually on laptop Final development and refinement on desktop
next 3 years I had a Compaq laptop, finally now I have moved to Macbook pro.
I am not using external monitors or keyboard, but considering buying the shiny 27" imac, not sure will it become a development environment