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.
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
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.
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
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
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
Mike Gunderloy, MCSE, MCSD, MCDBA, is a former MCP columnist and the author of numerous development books.