Refilling Your Toolbox

Mike takes a look at tools and technologies worthy of a solution developer's attention.


Man is a tool-using animal. Without tools he is nothing, with tools he is all.
—Thomas Carlyle

I live on a farmstead where, so far as I can tell, no one actually threw anything away after some time in the late 1930s. All of the outbuildings have little stashes of lumber and old bottles and barbed wire and, yes, tools in them. One of my finds over the winter was a perfectly serviceable sickle. I took a few hours to clean off the rust, tighten the handle, and hone a new edge on it, and then I went to try it out this spring. It turns out that for small jobs, the sickle is just as easy to use as the gasoline-powered weed whacker. It's also cheaper, quieter, and lighter.

Yes, there's a point to this and no, you didn't wander into the wrong magazine by mistake. It's just that working with the sharpening stone got me to thinking how well that sickle fits the criteria that I set out last year. In my view, good tools (software as well as physical):

  • Do one thing, and do it well
  • Have a shallow learning curve
  • Work the way that you expect them to
  • Fill a common need
  • Are inexpensive

In retrospect, though, there's something missing from that list: good tools are fun. Good software tools are fun to use and fun to write. I suspect that's because as developers—or as geeks, take your pick—we understand the target market for tools. This is an area where we not only eat our own dog food, but we show up with fork and knife when the can is being opened.

Developer Central Newsletter
Want to read more of Mike's work? Sign up for the monthly Developer Central e-newsletter, including product reviews, links to web content, and more, at http://lists.101com.com/
NLS/pages/main.asp?NL=
mcpmag&o=developer
.

So, this month, I'm not going to dig into one of the Burning Issues of software development. Instead, here are some of the tools that have migrated on to my own Start menu over the past year. Hopefully you'll find at least a few here that you think are worth trying.

Let's start with Yankee Clipper III, which takes something that Microsoft tried to implement and does it right. That something is support for multiple clipboards. When Microsoft added multiple clipboard support to Office, they made it as obtrusive as possible: Copy a few things to the clipboard, and this horrid window pops up, shouting "look at me, I've got your clips! Wait, let me add some pointless icons. Let me take up even more of your precious screen real estate!" I suspect this is the result of the Microsoft approach to usability testing. If a feature does not bludgeon new users over the head sufficiently to be noticed within the first five minutes, it is deemed "non-discoverable" and reworked. The result is a user interface that shoves everything in your face. Anyhow, like most users I know, I needed screen real estate more than I needed a clipboard history, so I turned that feature off as soon as I could.

Fortunately, that is not the approach taken by Yankee Clipper III. Instead, this utility sits in the system tray until you want it, at which point it becomes trivial to find the clipping that you want, and either put it back on the clipboard or "shoot" it straight to the active application (a function which I fondly recall from the late Ecco, a marvelously intricate PIM that no one ever really understood). The program also supports viewing clips, printing, and various customization features. Free (well, not quite, but it won't cost you any money) from http://www.yankee-clipper.net/index.htm.

Two other utilities answer the age-old question: how do I steal that? Um, I mean, borrow it! These are Cobicon for icons, and Resource Hacker for other resources. Cobicon 2.0 has one of the world's simplest interfaces: open a file, scroll through all the icons in the file, a save button to save the icon. You shouldn't use this to do damage to copyrights, of course, but it makes getting the open folder or network connection icon much easier. Another freebie, this one comes from http://www2.educ.umu.se/~cobian/prog.htm. As an added bonus, it has a mode where it will go through every file it can find in a directory tree and extract all of the icons to a directory on your hard drive. Don't try this on a large drive unless you have plenty of time to spare.

Resource Hacker isn't so much for recycling resources (though it can do that too) as for modifying them. It can view all manner of resources, from dialogs and menus to bitmaps and icons. But more interestingly it can also add resources to a file, or alter existing resources. Maybe you've never dreamed of adding the words "you dope!" to all of the menu items in the boss's copy of Word, but I assure you, other people have. This sort of application also comes in handy for exploring beta software where the documents haven't been written yet; seeing the dialog boxes and menus can help you find new features to play with. Freeware from http://rpi.net.au/~ajohnson/resourcehacker/.

Sometimes you don't even know you need a tool until you find it. That was the case for me with Win2Vnc, which is a specialized client for the popular VNC remote-control server. You see, I've got three computers and assorted other junk on a desk roughly the size of an airline tray table. Keyboards were a constant nuisance. With Win2Vnc, I run VNC server on the computer to the right. Then I run Win2Vnc on the computer to the left. It puts up a one-pixel wide VNC client window along the right-hand border of the computer. The net result is that I move my mouse off the right side of one screen, and it appears on the left side of the other. The keyboard focus follows. It's an excellent tool if you need to juggle multiple screens. If you're in the same (relatively small) boat, grab a copy for free from http://www.hubbe.net/~hubbe/win2vnc.html.

As a final desktop tool, let me mention Programmers Notepad. This text editor features customizable color-coding for many file types, the ability to save and load projects, bookmarks, indentation control, HTML preview, hex editing, regular expressions in search and replace, and all the basic text-editing tools that you'd expect. It's not a full-fledged programmer's editor in that it doesn't have a macro language or hooks to call compilers and linkers. But it's very fast to load, despite a fairly full plate of features. And it's free. So it you're looking for a tool somewhere between Notepad and those high-powered editing environments, this might be the one to take a look at. And, egads, it's free! Get it at http://www.pnotepad.org/.

Sam Spade breaks one of my rules: It doesn't do only one thing, it does a bazillion of them. But then, so does a Swiss Army Knife. This MDI program handles whois, forward and reverse DNS lookups, traceroute, zone transfers, nslookup, mail abuse reporting, and a dozen or more other low-level network chores in a compact interface. You can get it from http://www.samspade.org/, where you'll also find online versions of many of these same tools. Both the desktop and online versions are free.

Finally, let me mention a little one called SendTo FTP, which is just what it sounds like: an FTP client for your Send To menu. Select one or more files in Explorer, right-click, and select Send To, SendTo FTP. You'll get a dialog box where you can specify a server name, login information, and target folder (the tool remembers all of this) and then just click a button to send the files on their way. Quick than loading one of the heavyweight FTP programs and easier for most of us than remembering the command-line syntax. Download it for free from http://www.geocities.com/SiliconValley/Garage/7334/sftp22.html.

What's With All This "Free"?!
I didn't set out to write a column about freeware tools. It just sort of happened that way. But I think there's a lesson here. It's not about licensing or open source (though maybe that lesson is lurking here somewhere as well). It's about developers and their habits. When we scratch an itch, we end up thinking that someone else might have the same itch. Thanks to the Internet, we put out our scratching tools to share. This has little to do with the "gift economy" and much, I think, to do with pride and the knowledge that our own code really is so slick that everyone else needs it.

But of course, this technique may not take care of all possible needs. And I'm always interested in what other people want from their tools. So if you'd like to help influence a future column, drop me a line at [email protected]. I'm interested in your answers to two tool-related questions:

  • What tools and utilities would you hate to have to do without?
  • What tools do you wish you had that you haven't been able to find?

Comments may be used in a future column, unless you ask me to keep them confidential.

Featured