We have a Cygwinner!
Both of us are die-hard Unix hackers, Simon more so even than Ian, and regular readers will know that we both use Macs as our day-to-day computers. Since OS X appeared, we’ve been running a very respectable version of Unix on our Macs, and it would be a very rare day when neither of us had at least one terminal window open. Since we use Unix and its variants such as Linux and OS X so much, we’re completely wedded to our favourite shells (tcsh for both) and to utilities like sed and grep (grep is a tool that searches for text within files, while sed – Stream EDitor – allows you to perform actions such as search and replace on a file without having to open it into a interactive text editor). And who needs fancy graphical user interfaces when you have vi to edit your files? And so on and on, you get the idea.
The problem is we sometimes have to use Windows machines: for example, Ian has a couple of clients who visibly blanch whenever he takes out his trusty PowerBook, and complain that the web pages he’s showing them “don’t look the same” as they do when viewed in Internet Explorer. (They’re right, because the Mac’s display is much nicer, its fonts are anti-aliased and the browser doesn’t install random spyware, but that’s hardly the point.) Of course, there are plenty of ways to run Windows on the Mac; for the PowerBook, there’s Microsoft’s VirtualPC, while for the Intel-based MacBook Pro there’s Parallels Workstation and Apple’s own Boot Camp. But sometimes, clients need to see a Windows laptop emerge from the carrying case and so from time to time we’re forced over to the dark side.
This is fine, as we’re both perfectly proficient on Windows, and have been known to use it for hours at a time with no more than a passing wave of nausea. The problem arises when we need to do something we consider fairly basic, such as running a dig or nslookup to check the status or IP address of a server, or using whois to check if a domain name is available, or when we want to look into that directory of 5,000 text files and find just those that contain a specific string without using Windows’ cute-but-slow Search utility (if it’s such a professional operating system, why are searches done by a little doggy?) The fact is that, although the Windows command window supports a reasonable number of tools it doesn’t have the ones we’re familiar with, and that’s where the rather marvellous Cygwin comes in.
Cygwin is described as “A Linux-like environment for Windows”, and what it basically does is make all the Unix/Linux tools we know and love available from a command line in Windows. If you’ve tried to use Cygwin in the past and have been frustrated by the horrible installation experience, we thoroughly recommend you try it again now, as recent versions have moved over to a much more user-friendly installer, which now displays all the packages available, allowing you to choose just those you want. If you later need to install something you missed initially – or want to upgrade a package to a later release – simply run the installer again and choose the relevant option. Once you’ve chosen the options you want and the mirror site from which to download them (there are several, so if one is offline just pick another), the installer does its thing, downloading and installing just the options requested.
This is a much better solution than downloading everything and then just installing portions of it, since the entire Cygwin library is massive and would take forever to download, even on a fast connection. The installer still has some problems, although it’s much better than it used to be – the interface used for selecting packages to install still feels a little clunky and not particularly Windows-like (click on the package name to toggle between “Install” and “skip” or between various versions – the Windows way would be a drop-down menu for each version bearing options to install or not). Still, you’ll probably only use the installer once and it’s certainly quite serviceable.