Focus on Software
Sometime ago, I followed a thread on the Linux kernel mailing list that talked about Linux on the desktop. Of course, people discussed why Linux had a long way to go on the desktop (no one thought it was ready). I didn't jump in with both feet, since I thought the thread was off-topic to begin with for the already-busy kernel list, but I must disagree. The focus of the conversation was on a lack of certain things like applications and desktop simplicity.
Well, I converted an entire school computer lab (33 computers) to Linux just recently, and it looks like there is more to come. I've found that, properly installed and configured, Linux on the desktop is easier for students and teachers to use (and a lot less frustrating) than anything they've used before. The secret is simplicity, since every app I can think of except Quicken has a viable alternative. While I installed Caldera (the distribution is really unimportant), the desktop is not KDE (Caldera's default). I had to put together a couple of simple shell programs attached to icons for the nontechnically inclined teachers, but nothing difficult, and the students haven't found the games (yet). They're so happy with it, they're talking about converting everything, not just this one lab.
So don't underestimate Linux on the desktop. I've found that once it's installed for the technologically challenged user, they're much happier than with any other system they've used. And those users couldn't install a Microsoft OS anyway; they're just using what comes with the system—all I provided was a viable alternative. Not bad for a guerrilla operating system.
Have some processes you need to keep running? I know it's no fun to find your web or ftp server down. This Perl script can take care of making sure any essential services stay up, and notify you by e-mail when they are restarted. Makes it very simple to keep track of when services go down. And this particular program is almost too easy to install and configure. It requires Perl, cron (suggested).
Build Your Linux Disk: http://byld.sourceforge.net/
You've probably seen a number of boot/root disks out there that can be used as rescue disks. You may even have one. But, have you ever wanted one with your favorite utilities on it, not someone else's favorites? Then you've got to roll your own. BYLD, Build Your Linux Disk, can help you do just that. And in case everything won't quite fit on one disk, the author includes information on making your disk slightly larger. In fact, a 1680K disk is standard in the config file (just look in /dev for some common sizes, like 1760 or even 1840). It requires bash, a number of common system functions, kernel sources.
A very simple checkin-checkout system for a company. Supports “views” based on departments. You can tell quickly where someone is (in/out) and the reason (if they've bothered to say). Will require some small tweaks to the HTML code, unless you're satisfied with the very plain interface provided. It requires a web browser, web server with PHP and MySQL support, MySQL.
Pronto Mail: http://www.muhri.net/pronto/
Pronto Mail is a spinoff of the GTK-based mail client CSCMail, reviewed here a few months ago. The CSCMail authors have decided to move to C, so some users of CSCMail who like Perl have moved the Perl version along. One good aspect of Pronto is the simple install. If you want to use anything but CSV (MySQL, PostgreSQL, mSQL, etc.), you'll need to create a blank database with the user's name (and permissions for the user). Other than that, Pronto is self-installing, including downloading. Good-looking and stable. It requires Perl, Perl modules: Gtk::XmHTML, Date::Manip, DBI, Text::CSV_XS, SQL::Statement, DBD::CSV, MIME::Base64, HTML::Parser, IO::Wrap, MIME::Parser, Mail::Header, MIME::Types, URI::URL, IO::Socket, Lingua::Ispell.
I've used several password-generation programs. Until recently, I used makepasswd. But passwdgen has a few switches that allow you to decide if you want passwords to be all uppercase, all lowercase, all numbers, or printable characters and not numbers or letters. You can mix and match the switches to generate a remarkably difficult password. You can also specify passwords that can be typed with just the left or right hand (obviously this works only on a standard QWERTY keyboard). It requires glibc.
Simple Network TOP: http://sntop.sourceforge.net/
Do you have a large number of hosts to monitor? Need to know only if they're up or down (not whether a particular service is running)? This utility is quick and easy to set up. It also has a secure mode that allows it to run on a console with the command keys disabled. Or, if you prefer HTML output, there's a switch to provide it. sntop uses fping to probe, so it won't put much of a load on your system or the network. It requires ncurses, glibc.
Subnetwork Explorer: http://cyest.org/
Most of us should be familiar with nmap, but it's a bit heavy just to keep an eye out for a quick check of “is someone running a rogue ftp site on the network?” type scan. Netxplorer gives you a way to make a quick check of a very few servers, currently anonymous FTP, SUNRPC and NetBios file sharing, although more will certainly be added in the future. A quick netxplorer of a class C subnet takes only seconds, as compared to several minutes for nmap, which you really should use if your needs are for a detailed network scan. It requires glibc.