So, I tried. I really did. I stopped writing about it almost entirely out of frustration with the situation. But I kept working on it.
For my day job, doing the work for which I get paid, doing that work that I do that requires my use of a computer rather than just those hobbies and writings where a computer is simply more convenient, I am a python web developer. I use python-django to craft quick and dirty web apps that manage our marketing mailing lists, customer CRM, office processes, and more. Most of these are deployed to servers running the LAMP stack, though a few are run on “MAMP” – same software, just Mac OS X Server as the host OS. My workflow is drop dead simple.
I keep all my projects in ~/Projects/, sorted by client. I use the incredibly excellent TextMate editor. I have my settings.py haxied to know the difference between running in django’s built-in webserver and a real Apache instance. It also knows to use the SQLite storage engine in dev and MySQL in deployment.
When I’m ready to deploy, I can use Mac OS X’s built-in Apache to test my site configuration, ensure none of my code changes stop working when switching from SQLite to MySQL, and so on. Once I’m convinced everything’s good, I push my changesets to my Mercurial repository, pull them down to my production servers, and let fly.
In OS X, this all fit together seamlessly. No effort on my part, nearly all of it set up exactly for this workflow as if on purpose, right out of the box.
Windows 7 broke nearly all of this. All the pieces exist to make it work, certainly, including a TextMate clone called eTextEditor. However, getting it all to work together was a big pain. I blame this mostly on the lack of a free and easy, compatible compiler in Windows. python-setuptools and pip failed to properly install a fair number of the libraries I needed, so I had to hunt down binary installers. These installers were, of course, keyed to specific releases of both Python and Windows, but to my chagrin would actually install if I’d accidentally downloaded an incorrect distribution, and would install and sometimes fail to throw exceptions if a prereq wasn’t installed.
And when I decided I wanted to upgrade to Python 2.6 (I’ve generally been in 2.5), and to a newer django, things went downhill rather quickly.
So this Monday, several weeks into what was supposed to be a 7-14 day experiment, I said “fuck it.” I simply gave up trying to get it all to work, went back to developing on my Mac, and devoted my Windows box to gaming and general productivity.