Defining Interoperability

Accounting applications, typing tutors for children, an FTP client and more.

For me, the term interoperability means how to bend 106-plus UNIX-type operating systems to work with Microsoft's proprietary, non-RFC-compliant, all-too-often frustrating systems. All the UNIX-type operating systems work together most seamlessly, thanks to their adherence to standards. But Microsoft's marketing strategy of “100% Microsoft” and their deliberate barriers to interoperability cause no end of anguish to system administrators, many of whom are of the opinion that “0% Microsoft” would be the best goal for sanity's sake. Meanwhile, Microsoft's hidden APIs are more hindrance than the moving target that is Linux. Thankfully, teams of programmers, like those working on Samba, have delivered us this interoperability successfully despite Microsoft's best efforts. But complete interoperability between Microsoft and Linux has a long way to go.


If your business is point of sale, with emphasis on sales of a large number of varied products, you might want to take a look at Freemoney. To preview this application, go to their home page and their preview page. While this accounting package is feature-rich, whether for web sales or in-store sales, setup needs a lot of work and better documentation. You won't be able to skip through this installation, but once installed, you will be pleased with its ease of use. Requires: interchange, web server, Perl, Perl modules: Bundle::Interchange, DBD::Pg, DBI & Schedule::At, PostgreSQL.


If you know phpMyAdmin, then you know phpPgAdmin. This web-based PostgreSQL administration is a port of the very popular phpMyAdmin. It makes administration of Postgres a breeze. Installation is simple and straightforward, and you can set up the system to administer all the databases or just one. Requires: web server with PHP and PgSQL support, web browser, PostgreSQL.


This program for children is a typing tutor. It features falling fish with letters that Tux the Penguin must run beneath and eat as they fall. For more advanced practice, you can substitute words (generally three-letter words) to accomplish the same thing. The graphics and game play are excellent diversions for children while they practice touch typing. Requires: libSDL, libSDL_image, libSDL_mixer, libm, libdl, libartsc, libpthread, libX11, libjpeg, libpng, libz, libtiff, libvorbisfile, libvorbis, libogg, libsmpeg, glibc.


The di utility, standing for disk information, will provide you with quite a bit of information about your hard disk. Most of the information mirrors what you get from the df utility, but not all. Lately, with the addition of ReiserFS and ext3 to the kernel (not to mention LVM), often I need to know what type of filesystem I'm dealing with. This information isn't provided by df, but di shows you this by default. The output format is also cleaner than df, especially on a system with the horribly long devfs naming scheme. Requires: glibc.


One of the biggest complaints I hear from folks who'd like to convert 100% to Linux is the lack of a personal financial system. Several good applications exist for business accounting, but few for personal accounting. I can think of three, but they all use a flat file database and only can be run locally. GnuLedger runs from a web browser, so it could be run from anywhere in the world (ideally using https). And because the data is held in MySQL, it's fast and can be queried easily without using GnuLedger if you know basic SQL. My only note about GnuLedger is that it (at least the version I downloaded and tested) had no accounting tables at all; they had to be created from scratch—not something your average home owner wants to deal with. A comprehensive set of tables properly linked for the average person would go a long way in helping GnuLedger along. Anyone want to donate a schema they're using? Requires: MySQL, web server, Perl, Perl modules: Number::Format, DBI, DBD::mysql, Math::Currency, Math::FixedPrecision.


If you have a motherboard with supported sensors (mostly ASUS motherboards, but others are being added slowly), you can monitor your system's health (CPU temperature, etc.) graphically. Living in Panama, and particularly with systems in non-air-conditioned locations in the summer, this utility shows at a glance if the temperature is getting too high and a build or two needs to be aborted. Works on multiprocessor systems as well as single CPU systems. Requires: lm_sensors, libXpm, libX11, libm, glibc.


This month's choice from three years ago was easy. This is the Burger King of FTP clients. It boasts both a text and graphical mode, and it can use FTP (passive or active), SSH, SFTP or HTTP for file transfers. It is threaded, so it allows for multiple simultaneous downloads, can queue downloads, transfer between two remote systems and much more. If you need to move files around a network, you need to take a look at this application. Requires: gftp-text: libglib, libnsl, glibc; gftp-gtk: libgtk, libgdk, libgmodule, libglib, libdl, libXext, libX11, libm, libpthread, glibc.

Until next month.

David A. Bandel ( is a Linux/UNIX consultant currently living in the Republic of Panama. He is coauthor of Que Special Edition: Using Caldera OpenLinux.