Windows without VMware for development no longer makes sense

When I started doing Ruby on Rails work, I was using a Mac at home. When I left Plaxo, and started consulting, I needed a cheap laptop. I got an inexpensive Dell / Windows laptop. I have a lot of experience with Windows, and I have some really good developer tools on the Windows side. When I wanted to do some Rails on the laptop, I found a windows package that gave me a full Rails setup. For a while this was great.

Windows is caustic to open source libs

When it was just me, I deployed from the Windows laptop to the Unix cluster. Once I started integrating with the developers that we hired at work, things started to break down. They were all on Linux, and my checkins started screwing with their editors (linefeed issues). The really big problem was that certain gems and packages didn’t exist on windows. I’ve developed libraries in the past and I can understand that many library authors don’t want to deal with windows. Microsoft doesn’t have a decent, free environment for building open source software. Even with Cygwin, all sorts of things break. It is a hard platform to support so most of them don’t do it well. What could I do?

The Server

Oh yeah, just to be explicit, there is no way we’re going to run a web app on anything other than Linux. It is a commodity. Another Unix would be possible and fine, but we don’t have that need at this point. Would we ship on windows? Not even if you paid us. Windows has been irrelevant on the server side for so long. It is too opaque, too proprietary, has licensing issues (how many sockets am I allowed to open?), build issues (see above paragraph). The Unix API has won, its free, and that is where all the action is.

Options

Windows is a fine desktop, but I needed a solution. I had free Unixs as my desktop in the past, and they weren’t and still aren’t ready yet. I needed to be productive, so I wasn’t going to go back to that. Also, we are a startup, I’m not about to drop $4k on a Mac laptop right now. Finally, I’m not going to deal with driver hell with Linux on a laptop. As I was researching a solution, an old friend from Plaxo, Ethan, mentioned that VMware had a free VM player. After thinking about it, this looked like a really appealing solution. I only needed a Linux box that I could telnet/ssh into. I could have a real windows environment, yet have a little Unix server running inside. This looked like the ideal, no compromises for either setup.

VMware Player Rocks

I gave it a try, and in under an hour it was working really really well. The CPU hit wasn’t noticeable at all. I’m so pleased with the solution. To any of you (the two people out there reading this), if this was obvious to you a few years ago… I apologize for my slow uptake on this. I’m a believer now. Seriously, even if I was on a Mac, I could imagine running a little Linux distro in Parallels just to be compatible with my production environment. In fact, if I moved to a Mac, I could probably keep the same VMware image!

Windows Libs Are No Longer Relevant

About 9 months later, this setup has been great. Today though, it really hit me. I still see Ruby gems and modules for other languages supporting windows. Why? I can say that if I were developing an open source library, that was useful in a server/web environment, I would drop support for the hardest environment to support: Windows. People shouldn’t use Windows for a server. With the free VM systems out there, they don’t even need it for their windows dev box. If the library developers out there didn’t have to support Win32 anymore, how much lower of a load would that be? Something to think about.

If anybody complains, point them at this post 🙂

This entry was posted in General. Bookmark the permalink.

4 Responses to Windows without VMware for development no longer makes sense

  1. Blaxter says:
    I had free Unixs as my desktop in the past, and they weren’t and still aren’t ready yet

    O_o, WTF?. in my situation, i’d say is the opposite cause, it’s impossible to be productive in a windows box.

  2. Hmm! I have so far tried to use VMWare with Linux host and Windows guest. Why would you do it the other way round. Did you want some UNIX servers like apache to be running on your laptop?

  3. sjs says:

    I agree that it shouldn’t be a priority for people who don’t use Windows, and it isn’t. But if someone on Windows just wants to use the library without a VM and they provide a patch, then I’m all for it. Free software should run anywhere and everywhere.

  4. dru says:

    @Blaxter – I think you haven’t seen a real Windows power user at work.

    @Shachindra – The tools on windows are better than those on linux. Have you ever used Photoshop?

    @sjs – If it was trivial to patch, then I would be all for it. Unfortunately, it isn’t. This is why a lot of software authors silently ignore requests to get things working on Win32.

Comments are closed.