Serving up files and text

Opinion
Oct 6, 20064 mins

Reader Stuart Douglas dropped us a note as a follow-up to our recent Gearhead article on FileZilla, a free, open source FTP client.

“If you like their client, check out their server,” Stuart suggested. “We’re an MS shop but IIS doesn’t provide the mixed user setup and granularity we needed in our FTP servers. FileZilla does it all, in spades.”

FileZilla Server is an excellent free, open source, Windows FTP server implementation with a small multithreaded engine (a 2.4MB download, and it uses just less than 3MB of RAM) that is fast and robust.

You can install FileZilla Server as a service under Windows NT4, 2000 and XP, or run it as an application with or without automatic start. You also can select which port should be used for administration (the default is 14147) and whether the server starts for all users or just for the first one who logs on.

Once installed and started you can launch the administrator’s interface from the Windows system tray and configure the server. There’s a lot to set up, including the welcome message, local IP address bindings and remote IP address filters, and passive mode settings.

FileZilla Server supports anonymous as well as named users (with MD5 encrypted password storage) and groups. Group membership provides access to the group’s assigned subdirectories and to whatever the users have been directly assigned. There’s also support for antihacking features and a no-transfer timeout to kick idle users off if they are using a basic “keep alive” system.

The FileZilla Server console displays all client activity, which can be optionally logged to a single file or multiple daily files.

FileZilla Server installation doesn’t include any documentation so you’ll need to know about the project’s support wiki, which seems to be having problems as of this writing.

Another utility we have become taken with improves on an old idea: keyboard macros. KeyText from MJMSoft Design Limited can detect trigger text, so you can define abbreviations that are dynamically replaced by text as well as respond to hot-key sequences.

The abilities of KeyText go way beyond simple text substitutions. For example, there’s a feature that MJMSoft calls Advanced Smart Select that takes selected text and changes the output according to rules you specify. That means you can set up a macro triggered by a hot-key sequence so when you select an e-mail address in any application and press the hot key your e-mail client will start and new mail to that address will be created, but if you select a ZIP code your browser is launched and you are taken to Google Maps.

The reason this tool is so powerful is that KeyText can use regular expression matching as well as if-then-else clauses. There also are string constants (MJMSoft calls them variables) for storing frequently used text that are accessible from all macros (they can be shared by multiple network users as they are stored in a file), string variables for dynamic data, and integer variables that can store values from across multiple sessions (useful for sequential numbering needs, such as file naming).

Not only can the contents of the clipboard or the currently selected text be used for decision making, so can the current window title, current process name, variable values or even the color of a pixel.

KeyText is remarkably powerful (see the product home page for a more complete feature list) and that’s its one downside: it is pretty complicated so there’s a lot to learn. That said, if you are writing code this could be a great productivity aid, and if you are looking for a way to achieve complex user interface automation KeyText could be a good bet. At $29.95 it also won’t break the piggy bank.