NOTE: This post is from 2003, some information might be outdated.
People have recently been asking me what software I use, so I've decided to make a list of the software that I think is "essential" and that I have to install on any system that I use; feel free to discuss. Please keep in mind I'm only focusing on Win32 software here, since this is probably the OS of choice for most forum readers.
I intend to add quite a few programs to the list, and some are getting removed.
A sample of programs I'm going to add or expand on list: Subtitle Workshop, mp4ui, LA (lossless audio), ffdshow, AC3Filter, Zoom Player, The Font Thing, XnView, GhostScript/GhostView, DiscJuggler, COM Explorer, ActiveX Explorer, ZTree, BHODemon, VSigGen, PerfectDisc, PowerBASIC 7, 7-Zip, QuickPar, SFV Checker, vile, Borland CodeWright, Visual SlickEdit, Eset NOD32 Antivirus, WinSCP, AvantBrowser, lftp, NFTP, NcFTP, Sam Spade, Xnews, Mulberry, PuTTY, OpenChat/32, C-Kermit, Kermit-95, Open DCL, foobar2000, bfilter, Zsh, wget, ScrollZ, OpenSSH, Seminole httpd, and more.
I'm going to add a small section for NeXTSTEP and OpenStep software as well, since I'm a daily user of NeXT workstation equipment.
-- Jeff
Development & Programming:
MinGW32 and MSYS and the latest updates - MinGW32 provides a complete GNU compiler toolchain and assorted glue in the form of headers and libraries that allows for compilation and development of native Win32 applications. As of this writing it provides a complete GNU C 3.2.3 environment including the GNU assembler, binutils, and linker. MSYS is the MinGW Minimal System, which provides a POSIX-like environment to aid in development and porting. Most importantly, MSYS includes native-Win32 versions of many tools. Even if you don't plan on doing development, you get native Win32 ports of tools like bzip2, GNU awk, grep, less, M4, make, md5sum, patch, sed, and tar, along with a native port of rxvt and the Vim editor.
X-Ways WinHex Specialist - The best binary file editor I've found for Windows. Supports Unicode, ANSI, ASCII, EBCDIC, unlimited file size, and your standard features. Unlike UltraEdit-32, WinHex is designed to be only a hex-editor, and it has features you won't find most other places: FAT12, FAT16, FAT32, and NTFS raw directory interpertation, raw direct disk and RAM editing, disk cloning functions, CRC and hash and checksum support, editing of unallocated file slack space, a PRNG (random number generator) and powerful scripting and API hooks. I used to use UltraEdit-32. I would still recommend UE due to it's built-in FTP access, allowing you to work with files on remote servers as if they were local, which is great for web development.
Vim - Vi Improved. The Editor. Vi with great features such as unlimited undo and redo levels, support for foreign languages and charactersets, visual text formatting and syntax highlighting for too many formats to mention, programmable macros, unlimited number of open files, buffers, and split screen editing with virtual memory/swapping, crash recovery, and integration with programming languages such as Tcl, Python, and Perl. Available in Win32 GUI and console versions.
L5SG ServiceManager and DriverManager - Two of the best tools for tracking down and viewing information on running Services (only a minor improvement over the NT/2K/XP Serivces MMC) and Drivers, which was only previously manageable using tools from the Windows Resource Kits.
Digital Mars Compiler Suite - Free C, C++, D, and assembler for DOS, DOS32 (using X32 DOS Extender) and Win16/Win32. It's a fast compiler that supports some neat features such as 80-bit long doubles and support for most C99 features. It has it's own built-in executable compression, similar to UPX.
DJGPP - 32-bit C, C++ and Objective C compiler for DOS. DJGPP is to DOS what MinGW32 is to Win32 development. A good alternative to DMCC if your porting UNIX software or if you want to operate in a POSIX development environment and create DPMI DOS applications. If you require DOS, Win32, and OS/2 development, you can look into EMX/RSXNT.
PL/I - PL/I is probably the greatest programming language ever created. It's also probably most famous for being the implementation language of the Multics operating system. If you follow the PL/I link you can find resources and information about PL/I and also functions that implement modern IBM PL/I features for older compilers. There is a free G-level subset PL/I compiler for DOS available for free download.
Moonrock - Another relatively unknown programming language that I'd be lost without. Moonrock syntax is similar to BASIC, and it "compiles" the programs into x86 assembly language. The best way to learn how to program in Moonrock is to examine the example programs -- a IRC client and small HTTP web server for DOS.
Other free compilers and assemblers:
For ASM I'm now using FASM for DOS, Win32, and Linux, supporting MMX/SSE/SSE2/3DNow and outputs in BIN, MZ, PE and COFF formats. NASM is still a great assembler and is used by lots of projects (including LAME).
COBOL 6.50 for DOS, GNU Fortran77 for DOS, Microsoft MASM, LINK, ML, H2INC, and NMAKE for DOS and Win32, and FreePascal. There are still others such as Pacific C, TMT, Digital C, etc., but I'm only listing the "best of the best" here.
UPX - The best executable file compressor. It makes your compiled executables and libraries smaller and usually speeds the application load time. I've had the least compatibility issues with UPX, and it compresses most file types.
Security:
Kerio Personal Firewall - All your standard personal firewall features plus application MD5 checking, to ensure that existing applications are not trojaned, and nice graphical connection monitor similar to ntop. The whole system uses half the resources of other firewalls I've tried, and things like buffer sizes are configurable in the registry -- which is what made me switch from Tiny to Kerio.
UPDATE: I've had some issues that, unfortunately, I've traced back to the Kerio drivers. I was using v2.1.5, which was the last free version. I may decide to evaluate the more recent commercial versions at a later time, but for now I'm using a hardware firewall.
TinyLogger - The best logfile analysis utility for Kerio Personal Firewall.
GNU Privacy Guard - I used to be completely against the GnuPG, but if you compile with IDEA support enabled, you can maintain compatibility with PGP 2.x. A guide for PGP 2.6.x compatibility can be found here. I'm currently using GnuPG 1.3.2.
SpyBot Search & Destroy - One of the best utilities for removing and detecting SpyWare, Dialers, Keyloggers, and most importantly, usage tracks from various programs, and it can be easily customized. For an overview of what it cleans up, see the page here. It seems that just one Spyware program isn't always enough. To be safe, I also use two other products: Ad-Aware and Spyware Blaster.
The Proxomitron - Originally a banner blocker, Proxomitron now does so much more. It's a generic filtering proxy that allows rewriting anything that passes through it using regular expression matches. It comes with a basic, limited set of filters to do common things like block popups, but the real power comes when you start writing your own rules. It's great for things like unhiding URL's, stopping unwanted Java and JavaScript, unwanted cookies, sanitizing your HTTP headers, and can forward your traffic through another proxy such as a Squid cache. Being a proxy, it's compatible with any web browser and you only need to run it on one computer on your network.
NOTE: Now discontinued!
CD and Disk Utilities:
ISOBuster - ISOBuster is here for two reasons. It's the only utility I've found that successfully makes usable images of VMS ODS-2 formatted discs as well as properly reading permissions and long filenames entries from Rock Ridge discs. It supposedly is able to recover data from damaged CD-RW discs and facilitate data recovery of files deleted from CD-RW's, but I've never tried it.
WinImage - Best floppy disk image handling program for Windows that I know of. I use it mainly because it supports some (but not all) non-standard formats, such as 1.68MB DMF. It can defragment images in memory as well as reading and writing them, and it also supports creating nifty self-extracting executables.
DiskImager - DiskImager is an old school utility to read and write disk images, written in Pascal and 286 assembler. It comes with free source code, the only restriction being you cannot use the source to create a DiskImager clone. It supports standard 1.44MB floppies that are high density, 2 sided, 18 sectors/track, 80 tracks/side, but, unlike WinImage, it doesn't care what the filesystem on the disks is. I've used DI to make self-extracing OS boot images, and a self-extracting MemTest86 floppy. It's compatible with Windows NT, 2000, and XP!
SpinRite 5 - I hate Steve Gibson, maybe more than Bill Gates himself. He's publicity whore #1, and he makes incredible claims of his software that aren't always true. However, SpinRite is a great utility. What is nice about it is that it shows you exactly what it's doing, so it can be used to find mechanical problems with hard drives (and floppy drives!) as well as media problems when used by an experienced tech. This is it's best feature, even though it wasn't intended to be used this way. I've had old SCSI hard drives that most disk utilities, even OnTrack Data Advisor, said were fine, but kept failing in use over time. After running Level 5 SpinRite, I finally saw the drive was failing to respond to relocation requests, and it was thrown away.
Free FDISK - Enhanced DOS FDISK that supports non-DOS partition types, disks up to 128GB, and automatic execution from batch files.
Nero - The best general CD-RW software I've used for yet, and it hasn't failed me.
Operating System Essentials:
4NT and 4DOS - 4NT is a replacement for NT/2K/XP's CMD.EXE, while 4DOS is a COMMAND.COM replacement for DOS/95/98/Me. It's amazing in every way, making you want to spend your time on the command prompt. It supports file descriptions, aliases, macros, redefinitions, extended wildcards (ex: DIR /S ?SJ*F?1.BA?), internal file viewer, batch debugger, recursive copy/delete/rename, internal variables to access low-level system information like memory, disk, process, and OS statistics, and a powerful programming language with many C like functions including string handling and formatting, exception handling, and switch/case/if/than/else logic.
ZTreeWin - XTree Gold for Win32 console. Supports LFN's and has too many features, like a builtin hex editor and viewer, binary level compare, and it treats ARJ/CAB/LHA/JAR/RAR/ZIP archives like any other directory. ZTree is better than XTG ever was.
Open DCL Lite - Free DCL interface and interperter for Win32 and UNIX. Allows you to work as if you were in VMS environment! While not every command is implemented in the Lite version (and SHOW STATUS crashes in XP), OpenDCL Lite has enough lexicals and commands to make a VMS user feel at home, and allows you to mix Win32 commands with VMS commands.
MicroDCL - Another DCL interface and interperter, but this time for DOS users, featuring an incredible extensible help system, useful for boot disks.
CMFiler - CMFiler is yet another file manager ala XTree, but it has it's own unique functions and finger feel, and some neat features like "fit to copy" for fitting large directory of files such as images onto floppy disks, and neat grep-like text find features. It's a DOS application but supports LFN's.
PocketD - Purely a DOS application, but combined with 4DOS, gives you best possible DOS environment. A replacement for the DIR command, on crack; it searches, it locates, it copies, it analyses, it views, it sorts, it colorizes, it makes graphs!
A last one for the DOS crew, the Korn Shell (ksh) and Bourne Shell (bash) for MS-DOS and compatibles.
Audio and Audio Compression:
DXMan - By AnalogX, the makers of 18 million crappy utilities, here comes one worth using! Seriously, DXMan allows you to easily manage DirectX Audio Plugins, including support to add, remove, and reconfigure them. There are also some other useful DirectX Audio Plugins here, such as Gate, Arpeg, and Phase. BitPolice is also useful as it lets you examine the bit-level output. DriveTime shows you how much hard disk space you have left in hh:mm:ss. Don't download anything else from this site though! =)
EncSpot 2 - EncSpot was written by potsticker, who has recently disappeared, so don't except any updates! However, it's still a great program. If you don't know anything about it, just download it and check it out. It analyses files and directories of audio files and shows bitrate graphs, encoder information, and aggregate information like directory average bitrate and quality, and it works with MPC files as well as MP3.
EAC - Exact Audio Copy - The best ripper. I used to be a fan of CDex until I did some actual tests, and even if it may not be miles ahead of other rippers, it offers important features that I couldn't live without now, including accurate gap detection. Sometimes difficult to setup, but if you do it correctly, you can be sure you are getting the best possible CDDA rips.
MP3Gain - ReplayGain for your MP3 files, and it works with any player due to it's lossless modification of the audio file itself.
Monkey's Audio - Lossless audio compression that I can finally recommend due to the change in licensing! This is now a tie with WavPack for favorite lossless audio compression. FLAC is probably the most promising new lossless audio compressor. Once version 1.0.5 is released, it might become my recommended codec for lossless.
MusePack/MPC/MPEGplus/MP+ - MusePack Living Audio Compression, in my opinion, the most promising lossy compression codec, and the only audio encoder I have installed on my machine other than TooLAME.
TooLAME - TooLAME is an open source MPEG-1 Level 2 (MP2) audio encoder. An experimental branch (0.3) was very slowly coming together at the time of writing at SourceForge.
Tag - Tag wins for tag management, mainly because it provides an easy way for me to get rid of all tags on all audio files on my entire hard drive. Death to tagging. :-P
Foobar2000 - PP's new pet project, a simple, all purpose audio player for power users. If you don't know about it, read the FB2K Forum.
Graphics:
IrfanView-32 - The best all purpose graphics viewer. I thought all my DjVu content was going to go to waste due to bad tools, but IrfanView to the rescue. Before IrfanView came around, L-View was my recommendation, and it seems that it is still developed at lview.com.
ScreenGrab - A simple screen snapshot utility that captures either the current window or full screen to BMP, JPG, or PNG.
PNGOUT - PNGOUT is a PNG compression optimizer by Ken Silverman, the same guy who wrote the BUILD engine used in games like Redneck Rampage. It usually compresses PNG images better than PNGCRUSH can. I use PNGOUT first, and then see if PNGCRUSH can do a better job. You can get PNGCRUSH over here.
Compression:
Note: I don't support using a whole lot of weird compression methods, especially when source code isn't available and the author isn't well know. I don't trust my data to just anything. With that said I give my prizes to:
1st Place - RAR - I use RAR on my Win32 systems, and it is my default application for ARJ, LZH, ACE, ZIP, and JAR files. It's not as much of a hog as ACE and other packers, has great open-source support, and a low-footprint.
2st Place - InfoZIP - ZIP and UnZIP utilities that run on more than 50 different operating systems and platforms. It may not be the best implementation of the ZIP deflate method (see KZIP for that), but it wins for reliability and compatibility.
Internet Applications:
Mulberry - Mulberry is the best e-mail program hands-down. I've been using it for years, and it's available for Mac, Windows, Linux, Solaris, etc. It has the best IMAP support in the industry and has the best integration with GNU Privacy Guard I've seen in a Windows application. It supports all the security features such as SSL/TLS/STARTTLS, Kerberos, CRAM/DIGEST MD5 and NT domain authentication. I wish it had better support for UCE filtering, but I have no major complaints.
XNews - XNews wins my pick as newsreader of choice. It's 100% GNKSA complaint, which is a very important thing, and should say more about the applicatin than what I can write here. One place it isn't the best is pr0n mass downloading... for all your pr0n mass-downloading needs, get Agent.
I use Internet Explorer as my web browser, but I also use all the security tools above, and keep up to date with Microsoft. I couldn't bear to use IE without "Toggle Images.exe", which was a tool first included in the IE4 "Pro Pack". It still functions properly 6.0 SP1. A simple utility, it disables the display and download of in-line images for a fast-text only experience. I have it enabled 90% of my browsing.
When I am not using IE, I use OffByOne, a simple HTML 3.2 browser.
I'm not a fan of Mozilla, but I've examined almost every single browser out there that includes and uses Mozilla as a base and always stay with Phoenix. If you won't use IE, please save yourself the hassle of trying out everything else and help the Phoenix team develop their great application.
Sam Spade wins as my all around network utility for Win32. It combines ping, dig, nslookup, traceroute, whois, finger, host, dnsblquery, nettime, etc. all into one easy to use GUI. On a platform like Windows where the native utilities aren't always available, Sam Spade has never failed me.
SecureFX - SecureFX wins as my FTP client of choice. It also supports SSH's SCP and SFTP file transfers as well, supports odd servers like VMS and MVS without a hitch, has great resume support, and supports command-line functionality for scripting via batch languages.
wget - wget wins as the best web grabber application out there. I'm always using it's "-c -t 0 -mirror -np" to grab down websites and it's great for use when your connection is bad and you really need to grab that file. Screw download managers and accelerators! You can always get the latest stable, beta and alpha Win32 wget here.
The best terminal emulation program in existance is Kermit and C-Kermit. If you want to use Telnet, Tn3270, SSH/SSH2, and you aren't using Kermit, you an idiot. Actually your worse than an idiot, but we won't get into that. If you have 95/98/Me/NT/2K/XP get K95 or else stick with C-Kermit. If for some reason you absolutely cannot under any circumstances use Kermit or C-Kermit, you might want to try PuTTY for Telnet/SSH and QWS3270 for Tn3270 instead.
ScrollZ - SZ wins as the best IRC client. I may be biased because back when they were on 1.8d/e and the client was closed sourced and had an IP-lock copy protection scheme, I began first using it, and later developing it with source code access. I implemented a few functions that were used in scripting my own script (eps) and other general features like country identifcation. The client is now open-source. It's lineage is from ircII and CToolZ. It supports ANSI, SZ, and mIRC colors, has it's own internals shitlist/userlist/friendlist for operating as a channelbot, caching of server variables, internal XDCC/CDCC, flood and channel protection, and other features. It is designed to be secure and stable, and not to include any default annoyance features or autokick/autoban settings, so it's safe even for IRCops to use (many do). The current source compiles under Cygwin, and I'm working on a native port. I have a NeXTSTEP, OpenStep, and OpenVMS/VAX port of older SZ versions available as well, if anyone is interested.
Well, what do you guys think? I purposely didn't add any major specific applications like Photoshop, and I'm staying away from reviewing office productivity applications. Remember this is MY best of the best list, and I hope you enjoyed reading it.
Have a happy computing experience.