Linux Today: Linux News On Internet Time.

Hardware Notes: Keeping Things Simple via Hardware

Oct 31, 2000, 12:29 (4 Talkback[s])
(Other stories by Lou Grinzo)

By Lou Grinzo, LinuxProgramming

Q: How many surgeons does it take to change a light bulb?
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 want.

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 system.)

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 expensive.

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.