Best set up if you ask me. Large external monitor, with a keyboard and mouse, but still portable, and only one machine, so I don't have to deal with keeping my code or environment in sync.
I keep a screen open on a Slicehost server and do all my development there. Even if I visit a friend and don't bring my laptop I'd download PuTTY and feel at home.
I do something similar, largely because enough of the stuff we do requires two-way interaction with other services that I need a public IP for callbacks, etc.
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).
I've got a macbook on my desk, and a massive linux box under it, which I shell into to do all my work. So the mac is essentially a (very smart) dumb terminal. Best of both worlds, I'd say. Plus the desktop makes for a great ottoman.
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..
Most of the time I only need SSH into a server to do any dev. I have the idea that an iPhone attached to an external screen (via its dock -- there seems to be a cable for that) and a Bluetooth keyboard will probably be cool.
I used to be exclusively desktop for years - liked the power, liked the larger screens. In the last year I've moved to laptop (about 90% anyway). It all started when I went to NY for a 3 month stint and I haven't looked back since.
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.
4 years with nothing but a Dell 15.4" laptop left me loving simple tools like vim.
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!
Desktop all the way. Used to be laptop, but the large code base, the huge amount of files, and the memory/CPU in use by the compilation of this app would make laptops scary. Yes I understand there are better ways, but this place has seemed to use the hardware is cheaper approach to getting things done.
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..
I so envy that display. Wish there were monitors <24" with similar pixel density, or that the 13" MBP had a similar screen. That would mean 1500x950. Makes a big difference.
Similar situation. I got my macbook on the left for skype, videoconferencing.
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"
At work - desktop (two screens have their advantages).
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 :)
I used to use a MBP + screen to develop with, but found the relatively anemic power, lack of expandability and screen mismatch annoying. (not to mention the constant unplugging/plugging in) I like my desktop quad core + dual screens & x5 HD space much better now.
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
I used to like the laptop, but with big screens and better processing power, desktops have become attractive again (I do have a laptop at home though, that I use for developing personnal stuff and occasionaly for work).
I have a great MBP, but the Sun Ultra24 running Ubuntu 9.10 is just speedy. Add multiple 24" monitors and it's nice enough to get me to drive every day to it. (and yes, I (still) work for Sun.)
Desktop, because I love the 24in monitor, the big WACOM tablet, the 8 gigs of RAM, and the feel of coding on the giant tank of an IBM Model M keyboard with the buckling-spring keys from 1986.
I develop on my MacBook tethered to 24" screen, working in interpeted languages so compilation power is not an issue. Last time I had desktop as primary machine was back in 2003.
Powerful laptop with a large external display for myself. I commute into NYC every day though, and I've solved some of my most mind boggling problems on the train.
Used to develop on a laptop for years, but a year ago switched to a desktop with a dual monitor setup. . .and basically got hooked to the . . . well I wanna say "flexibility" (I don;t mean in terms of portability) it gives me. I mean I have 3 HDDs, one where i keep stuff i develop + some backups, one with windows on in and the other one with "my precious" - Ubuntu :) Also use the laptop every now and then because (and it may sound weird) I miss the keyboard. . .