I have categorized programs as specialized because they are not for everyone, either because they require some programming expertise or because their applicability focuses on a narrow range of users.
Agent Ransack File Searching Utility
AstroGrep File Searching Utility
BareGrep File Searching Utility
FileSeek File Searching Utility
These four file search programs feature the extremely powerful feature called regular expressions. Agent Ransack applies regular expressions both to file name searches and to file content. Its original implementation of regular expressions released in March 2003 was deficient in that it did not honor the {,} construct. A new release in March of 2010 corrected this shortcoming. In addition, Agent Ransack appears to be the only one of the four listed progrms that recognizes POSIX constructs like [:upper:] and [:lower:] for upper and lower case letters, respectively. Consequently, Agent Ransack is now a first-rate program.
AstroGrep's implementation of regular expressions suffers from failure to recognize POSIX, and it applies regular expressions only to file content searches, not file name searches. It is probably the least powerful of the four programs listed, but it is still a decent, workman-like utility.
BareGrep's implementation of regular expressions is good but not great: it, too, does not recognize POSIX constructs. On the other hand, it can apply regular expressions to both file names and file content. It also allows users to save the search results to an external file. What distinguishes this utility from the others is that users can easily save frequently-used search strings for easy re-use. One annoying downside is that the freeware version nags users with a splash screen that can be suppressed only by purchasing the registered version. Even so, the full featured freeware product is worth that small annoyance. [Added 11 September 2009]
FileSeek is another solid regular expression utility. It does not apply regular expressions to file names, only to file content, and it does not recognize POSIX. However, its output display of matching content is more complete than the other programs in this section. [Added 11 July 2010]
Google-sites-liberation Web Site Backup and Restore
Google's blog site Blogspot has a nifty built-in backup and restore feature. Unfortunately, Google's web hosting service lacks this backup and restore capability. If you have created one or more web sites on Google, do not despair. This marvelous free utility written in Java fills the role perfectly.
After downloading the Google-sites-liberation program, simply double-click on the .jar executable file and fill in five values in the resulting window: the host (sites.google.com), the domain (site), the webspace name (in my case, gumby32), your gmail user name, and your gmail password. Finally, click on the button labeled "Choose Target Directory" and drill down either to the destination folder (for exporting the Google site to your pc) or the source folder (for importing the site from your pc back up to Google).
After you have downloaded your entire site, you can navigate to the folder labeled "home" and open the file called "index.html" in your web browser. You will then be able see—for the most part—how your web site will appear to readers. Be aware, however, that the back-up process evidently excludes at least three types of items: the header logo and the site name that appears in the header section; any theme that you might have selected or created; and any favicon that you might have uploaded. All individual page content, however, is preserved.
Note to programmers: if you envision making any changes to the html code after downloading the Google program to your pc, make sure you turn off your text editor's "word wrap" feature. Even then, the myriad of nested html structures will make changes to your organizational framework somewhat difficult. That's because the entries are all strung out horizontally, not vertically, making it more difficult to visually pair any given closing tag with its corresponding opening tag. Editing your text verbiage, however, should be fairly straightforward.
The backup aspect to this utility really could not be simpler, and it works like a charm. If you have invested significant time developing a web site of any complexity, do yourself a favor and get the peace of mind you deserve by safely backing up those long hours of hard work. [Added 25 December 2010]
jMemorize flashcards tool
A free, open source program that is written in Java and which therefore works on Windows, Linux, or Mac machines. This program allows parents or teachers to create flash cards for youngsters to memorize anything from simple arithmetic facts to geography (e.g., foreign countries by continent, states and their capitals, etc) to social studies (e.g., discoverers and their discoveries) and science (e.g., inventors and their inventions). The program allows dislay of flash cards in two modes: display the question first ("Discovered America") followed by the the answer ("Leif Ericson") or the reverse mode where the answer is displayed first ("Leif Ericson") after which the respondent must provide the question ("Discovered America"). Finding unlabeled maps might be a challenge, but the program will accept images on either side of the flash cards. Consequently, you can place the images of a state or country on one side of a card and have students respond with the name of the corresponding state or country. A very useful instructional tool for children that offers a fun way to learn otherwise tedious facts.
LP_Solve mixed integer linear program solver
To download this software, you will first need to establish a Yahoo! account if you have not already done so. You must then join the group "LP_Solve" (registration is free). Those requirements might sound a little off-putting at first, but it is well worth it: LP_Solve is absolutely marvelous.
The program runs in a command console (DOS) window from Win95 through XP. (I expect it will work in Vista and Windows 7 as well, but I have no first hand experience.) The program accepts equations in lp format or the older MPS format. There is no limit to the number of rows or columns: tableau size is limited only by the pc's own memory. The program also comes with a decent help file to guide you through the technical details of establishing your system of equations.
This program is definitely an arrow that every operations ressearch analyst should have in his or her quiver.
Unix Utilities for Windows' command console
This package brings all of your Unix favorites to the Windows environment: head, tail, cut, sed, grep/egrep/fgrep, sort, wc, and even gawk—plus many, many more. For anyone steeped in the intricacies of Unix, this collection of utilities is a must-have.
Cautionary Note on Unix Utilities from the Windows Command Console. Do not despair if some of the Unix commands you issue from the command line generate error messages and fail to work properly, especially if they involve special characters.
By way of example, I once had a file containing numerous quotations that erroneously began with a question mark instead of the desired double quotation marks. Thinking that the substitution would be a short, simple, one-statement process, I tried to convert the offending character, first using the string edit utility "sed." When that failed, I tried the programming language utility called "gawk," both from the command line as follows:
sed "s/^\?/\"/" input.txt > output.txt
awk "{if ($0 ~ /^\?/) sub (/\?/, "\"", $0); print $0 }" input.txt > output.txt
The problem hinged around the double quotation mark because that itself is a special delimiter in the command string. The backslash escape character is supposed to indicate the literal character following, but no matter how many escape characters I included, both commands repeatedly failed.
I later found out from the good folks at bug-gnu-utils@gnu.org that the Windows command console "cmd.exe" is deficient in its recognition of Unix code. They suggested running the same commands from a script file (e.g., sed -f script.sed or sed -f script.gawk) instead of the command console. When I followed their advice, lo and behold: both alternatives worked!
Do not fret if the specific details of my examples remain unclear to you. Just be aware that sometimes the very same code that fails in the command line might still work just fine when executed from a script file.
xxCopy (Extended xCopy)
This program is a command line file copy/backup utility that adds many options to standard Windows xcopy command. Users can specify files/folders to exclude (e.g., temporary folders, browser cache folders, temporary files starting with a tilde) by creating an easily-edited external text file. It might take considerable time and effort to establish just the right combination of options to suit your particular needs, but once you do, incremental or even full system backups become a breeze.
WinSent Sent (sending messages)
WinSent Innocenti (receiving messages)
These two companion programs will primarily benefit system administrators who need to send messages to users on a LAN network with computers having mixed operating systems: e.g., some with Windows XP and others with Windows 7. Windows XP had the command console "net send" that fulfilled the LAN messaging function very well. Unfortunately, it relied on a service called Messenger (not the same as Windows Messenger) that was found to have serious security problems. The Messenger service—and with it the utility "net send"—were therefore discontinued in Vista and Windows 7. Instead, Windows 7 now has a roughly comparable command console utility called "msg.exe" that accomplishes the same purpose. Unfortunately, "msg.exe" does not appear to becompatible with Windows XP. The net effect: computers with those two different operating systems cannot talk to each other without third party programs designed especially to bridge the gaps.
My three XP machines already communicated successfully among themselves, so I installed Sent and Innocenti on my Windows 7 laptop because it was the only machine that needed help communicating with the others. These two programs from WinSent performed with mixed results.
In the words of the vendor, Sent is a small console utility intended for sending net send messages over local area networks using command line. The utility can be used as a net send command replacement on versions of Windows that do not support this command (7, Vista, 98, 95) or just as an improved net send command with additional features.
As its name implies, Sent can only send messages; it cannot receive any messages. With that limitation in mind, it does successfully send messages from Win7 to XP. It does have one small quirk that is a minor annoyance: message recipients must click the OK button twice to delete a message window, not just once. Also, be sure to enclose your messages in quotation marks; otherwise, Sent will interpret each word of the message except the last as a separate domain/user and not part of the message. Best of all, Sent succeeded in transmitting messages not only from my admin account but also from my limited/general account.
WinSent Innocenti is a one-way messaging program allowing LAN users to receive messages, alerts and notifications from network administrators and other users of the LAN. By one way, I mean that Innocenti is only able to receive messages, not send them. It reportedly is able to receive messages sent with WinSent's Sent utility discussed above and—at least in some circumstances—with XP's "net send" command (as long as the Messenger service is activated on the XP machine). In addition, the vendor claims that Innocenti works in any version of Windows (7/Vista/XP/2000/NT/ME/98).
Innocenti has more serious shortcomings. Message screens with incoming messages display for only 10 seconds before automatically disappearing altogether. As a result, if a recipient is away from his or her desk or for some other reason not looking at the computer screen at the moment the message arrives, the recipient in all likelihood might never see the message. More importantly, while Sent successfully sends messages both from an admin account and a limited/general account, I still could not receive messages when logged on to my limited account: I received messages only while logged on as administrator—and even then, only for the aforementioned 10 seconds.
In short, Sent works very well but Innocenti less so. I should note that the same company offers other "trial" utilities that presumably have more features but for which you must eventually pay. The two utilities listed here are basic, bare-bones products that nevertheless have one redeeming feature: they are totally free. [Added 7 December 2010]