Anyone who uses computers for a while quickly develops a “toolbox” of programs that they like to use, in categories that matter to them. Here’s my list, for Windows because that’s the platform I like to use for my desktop. For programming I prefer Linux, but even then I usually work by accessing the Linux system remotely (I always have multiple machines around). Here are the programs I always seem to end up installing shortly after I get a new machine or reinstall the OS on an old one. I’m deliberately staying away from more programmerish tools because I’ll probably write about those later.

The first necessity, sadly, is an anti-virus program, and I currently use AntiVir. For a while I used AVG, until I found out that its detection rates were the laughingstock of the industry. Then I tried to use Avast but it’s a resource hog and it slowed down my system very noticeably. AntiVir’s updating interface isn’t quite as nice as Avast, but at least it doesn’t cause mysterious slowdowns all the time. The other security-oriented program I use is Spybot, to remove adware. I used to use Ad-Aware, but it simply fell behind in terms of being able to detect new garbage, and Spybot’s “innoculation” feature is useful too.

The next thing I’ll need on a new machine is a decent web browser and email client. I recently switched to Firefox and have been very pleased. I used Opera for a while a long time ago, then switched to multi-tabbed wrappers around Internet Explorer – first NetCaptor and then Crazy Browser after NetCaptor failed to run on Windows XP properly (probably fixed now, but too late). Firefox versions before 0.6 didn’t impress me much, but the recent versions seem fully comparable to the IE descendants and aren’t vulnerable to the ongoing plethora of security problems.
Another essential web-related program is an ad filter. For years, through several browser switches, I’ve been using Proxomitron. In addition to killing ads and banners, I’ve used its incredible page-rewriting flexibility to rearrange pages that wouldn’t fit properly on my laptop display, to fix various websites’ amazingly bad color/font choices, and a bunch of other things. Unfortunately development on it seems to have ceased. If it ever stops working for me I might use Privoxy (which I’ve played with a bit on Linux). I might also write my own similar program as a showcase for some of the server-infrastructure ideas and code I’ve mentioned here before.
The other “most important program” is an email program. I think the first graphical email program I used was FoxMail but after a while (for reasons I can’t remember) I switched to Outlook Express. That was actually a pretty decent program but, after the second time my proprietary-format mailboxes got corrupted I started looking for alternatives. First I tried PocoMail, but it never really grabbed me so I switched to The Bat with much the same result. Now I’m using Thunderbird, which has come a long way from its humble beginnings just like Firefox. It’s also kind of nice to have a web browser and email program that work well together, so I’ll probably stick with that combination for a while.
I currently use Backup4all to do backups to a removable hard disk from all of my machines. It’s a little bare-bones, but I tend to like programs like that and it has all of the functionality I need. Another very similar option is HandyBackup, which even has some additional features (e.g. FTP backup, synchronization) that I’d be interested in. However, my own testing showed it to be much slower than Backup4all and a coworker said that it doesn’t span disks properly. I definitely do not recommend Retrospect, which corrupted a backup archive in a way that I’ve never been able to fix. I’m sure everyone can appreciate the utter absurdity of a backup program losing data; about the only way its programmers could demonstrate greater ineptitude would be by actually corrupting data that had been fine before the user made the mistake of running such an utterly crappy program.
Text Editing
The one program that I use the most – in fact I’m using it right now – is a text editor. I’ve been using EditPlus for years now, and can’t speak highly enough of it. It’s great for editing both code and HTML, its built-in FTP functionality lets me edit files on this site as easily as if they were local, it has a clean (and highly customizable) interface, and it’s very stable. I’m probably the only person in the world who has used it to write kernel code for three operating systems (Windows, Solaris, and Linux) plus Python and PHP scripts in abundance. What a fine program. There are several other programs I could turn to if for some reason I had to switch (Crimson Editor and PSPad are also excellent examples of the breed) but it would have to be a very good reason.
Archive Management
Here’s another category where I’ve tried many alternatives. The earliest one I can think of was ZipCentral but, after I saw some speed comparisons, I switched to 7-Zip. That has a weird interface, though, and it hasn’t always been completely stable, so now I’ve switched to ZipGenius. In addition to performance it’s important to me that my archive utility handle UNIX tar/gz/bz archives, and ZG does that very well.
Even though I usually use EditPlus’s built-in FTP support for editing text files on this site, sometimes I need a more general kind of FTP capability, and the winner here is FTP Surfer. It’s a small, simple client, perhaps too stripped down for most people, but it does the job. I used to use SmartFTP, but it definitely suffers a bit from feature bloat.
Image Editing
The last category I’ll cover today is image editing. Most of the pictures I’ve posted here for the last couple of years have been touched up using XnView. It doesn’t have many of the actual cutting-and-pasting sorts of capabilities of a PhotoShop or PaintShop, but it’s free and it has an excellent set of tools to do things like color/contrast correction and that’s all I really need.

So there you have it: my own Windows top ten. These obviously aren’t the only programs I’ve installed on my machines, but they’re the best I’ve found in the categories that I consider essential. I can live without an IRC client or a flowchart program or a DVD player, but without these ten I would consider my system quite crippled.