I’ve never been a big fan of Windows. Until now.
I was introduced to Linux at my previous job, primarily by my long-time friend, Ben Simon. I was a happy Linux user for years, then switched to OS X when it came out. I was a happy OS X user for many years, as well, but was recently compelled to switch to Windows. I tried to be a good sport about it and embrace the change. In fact, I decided that if I was going to switch to Windows, I was going all the way. No Cygwin. No command line tools. I wanted everything to be graphical. I wanted the full Windows experience, and to fully embrace the Windows world.
In many ways, I was very impressed. Windows is far faster than OS X (a problem I’m hoping the Intel Macs will help solve), and most software is much better supported on Windows (Mac users may argue both these points, but believe me, they are both very true). I also didn’t mind the ease with which I could install certain applications. I’ve installed MySQL dozens of times on Linux and OS X, and it was kind of refreshing just to double click, go through a configuration process, and a few minutes later, have a great database server running perfectly.
But the honeymoon didn’t last long. My biggest frustration was a lack of command line. My commitment to doing things the Windows way wasn’t working. I tried things like Tortoise CVS and Tortoise SVN but found them clumsy and even buggy. I’m a huge Vim fan, but I tried to force myself into using Eclipse (which actually I really love now for certain things) and TextPad for all my editing needs. When I needed to move files to a Unix machine, I opened WinSCP rather than running scp from a shell environment. The result was months of constant frustration at the clumsiness of a purely graphical environment. I needed a command line, or I was going back to OS X the day the Intels came out.
The DOS shell is pretty much a joke (it doesn’t look like it’s changed a bit since I was a kid), so I decided to install Cygwin, an amazing Linux emulation layer and collection of tools, commands, and utilities. The problem I’ve always had with Cygwin was that the terminal window itself wasn’t much better than DOS. Although it behaves like a Unix box, the look and feel was clearly that of Windows DOS. Danny Dura suggested one day that I try installing sshd and using Putty to SSH into my own box locally to give myself a better terminal. I kept meaning to get around to trying it, and then when I saw that Ben had done just that, I used some time over my holiday to play around with my own setup. I’m happy to report that it works perfectly, and now I am probably the happiest Windows user I know. I have my command line just how I like it, vim, make, ssh, scp, cvs, svn, ls, mv, d, bc, cal, cron, aspell, etc. — all just how I like them. And, of course, I still have all the convenience and speed of Windows. And the icing on the cake: screen. Now if only I could run FVWM.