Hardware Notes: Keeping Things Simple via Hardware

By Lou Grinzo,

Q: How many surgeons does it take to change a light
A: Why change it? The new one will just burn out, and you’ll have
to change it again. Let me take out the socket and you’ll never
have to worry about it again.

This joke, such as it is, highlights one of the interesting
phenomena in the Linux landscape, namely how surgeon-esque some of
us (including yours truly) can be. The problem, if it can be called
that, is that the Linux user base has traditionally been dominated
by programmers, and if there’s one thing nearly programmers believe
at the DNA level, it’s that you can, and should, do almost
everything in software. Unfortunately, this isn’t universally true,
as seen in two examples of things that can be done more
conveniently in hardware than in software: Specialized/programmable
keypads, and removable disk drive enclosures.

The keyboard product is X-keys Desktop, a
very nice and extremely handy implementation of a basic idea. Made
by P. I. Engineering (“The No Slogan Company”), X-keys Desktop is a
black keypad with 20 programmable keys, each with a removable clear
cover so you can place a note inside the key describing its
function. (For the “More Power!” crowd they also make the 58-key
X-keys Pro, and some other mouse and keyboard related goodies.) You
simply plug the X-keys Desktop in-line between your PC and
keyboard, and you can then assign keystroke sequences to any
button. The beauty of it is that it’s all done in hardware–not
only doesn’t the X-keys box care which application you’re running,
it doesn’t care or know which operating system you’re using, and
there is no driver software to worry about. You can assign some
pretty extensive pieces of boilerplate text to the buttons,
although you’re probably more limited by the amount you want to
type than the unit’s storage capacity.

The X-keys Desktop is a great tool because it so directly
addresses such a common need, and in a way that eliminates the need
to learn how to assign and use keystroke macros in a bunch of
different applications or environments (assuming that they all even
support such features). Another benefit is that if you need to
change something, such as your e-mail address in a piece of
signature boilerplate, you only have to do it once, and not in
every application. The more operating systems (or copies of them,
as described below in the context of the DataPort hard drive trays)
and applications you use, the more you’ll wonder how you got along
without it. After just a couple of weeks, I consider it on a par
with my TV remote control for “must-have-ness”.

Even the X-keys Desktop shows some of the same “make everything
programmable” mindset that can quickly trade off usability for
functionality, however. The unit lets you optionally assign one key
to be a “layer toggle”, essentially a caps lock key, so that you
can assign two meanings to every key. I’m sure some people will
love this and will quickly fill both layers with everything they
have to type repeatedly in their jobs. (But please refrain from
doing really dumb things like storing passwords in it.) You can
also make individual keys repeat, make a key send one set of
keystrokes when it’s pressed and another when it’s released, and
adjust the speed at which the unit sends keystrokes, to account for
timing issues you might run into with some systems or apps (I had
no such problems in my testing).

The other example of doing something easier in hardware is the
DataPort removable hard drive enclosure, made by CRU, Inc. You’ve probably seen
things like this before–they consist of a tray into which you
mount a 3.5-inch hard drive (EIDE or SCSI), and a frame that mounts
in a PC system unit in a normal 5.25-inch, half-height drive bay.
The tray locks into the frame with a key, making it impossible to
accidentally remove a drive from a running system.

There are several models of the DataPort that provide some
options in terms of plastic or metal construction, LCD panels,
etc., but the ones I’ve been using for years are the mostly metal

DataPort V

So, what’s so cool about these things? Simple: In an age of
insanely cheap hard drives you can buy one DataPort frame, put
several hard drives in their own trays, and swap between them in
the time it takes to shut down one OS and boot the next. This lets
you experiment with new distros, beta software, and hardware
configurations in complete safety. You can remove the drive with
your precious production system, slap in a test drive, and let ‘er
rip. It’s about the closest thing to perfect protection imaginable,
especially in test environments. Like the X-keys Desktop, this is
one of those concepts that you’ll find ever more ways to take
advantage of. Need to routinely move large amounts of data between
systems that can’t be economically networked together? Use a
removable drive to sneakernet a fistful of gigs at a time via a
secondary (non-boot) drive. Need to protect all of your
project’s/company’s/university’s data? Use a drive tray for your
boot drive, and then you can pull it and lock it up any time you

Sure, you can create a “hydra boot” system that includes a few
flavors each of Linux, DOS, Windows, OS/2, BeOS, and probably a few
others OS’s all on one monster drive, but with each layer you add
you’re piling more work and time investment onto a single drive and
taking yet more chances with the whole smash simply because you’re
doing something so unusual. Storing the systems on separate drives
keeps everything far simpler. (But do get into the habit of marking
the drive trays with Post-It notes indicating what’s currently on
them. Trust me on this one: It’s no fun to rummage through a dozen
of these, booting each one, trying to find a particular

I’ve been using these drive trays for years, and I love them. In
fact, the first thing I do with every new system is relocate the
boot drive to a removable tray. Eventually these gizmos might be
obsoleted by USB 2.0 or serial ATA attached drives, but until those
technologies are here and are cheaper than drive trays, they’re a
very simple, slick solution.

The one downside to any brand of hard drive cartridge system
like this is that you quickly get locked into the system you start
with. None of the brands of drive enclosures I’ve seen interoperate
with parts from other manufacturers, so switching brands can be

The point of all this is that we should all keep an open mind
and be flexible about looking for solutions. If we approach every
problem as a programming challenge we’ll often find workable
solutions, but not always the best ones.

Lou Grinzo joins LinuxToday as a regular columnist. Lou can also be
found on LinuxProgramming, where he’s the
managing editor.

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis