Focus on Software

WebCal, tkballistic, gbase and more.

A few years ago, software licenses were simpler. We had the GPL (General Public License), now in version 2.0 for those suspicious of 1.0 releases. We had the BSD license. And there was a “free but restricted” license, which stipulated that if you used the program to make money, the developers wanted some too (sounds fair to me). Last week, I was looking through some of the licenses we have now; some I can't understand at all. There's the Open Source license, the Sun Open Source license, the Corel license, several variations on the free but restricted license, an Artistic license and a few others I don't recall. For those of us who can't afford to keep lawyers around, we'll just need to read and comply with these licenses the best we can and hope it's sufficient to keep us out of court.


WebCal is a nice, easy-to-use web calendaring tool. Users can create their own private calendar, allow others to read it and perhaps a select few to maintain it. Calendars can be created for conference rooms, for scheduling, etc. It is very well-done and doesn't require anything extraordinary. The calendar will even e-mail you a reminder if you need one. It requires Apache or another web server that can handle permission files à la htpasswd, and a frames-capable browser.


Gun buffs out there can have a good time with tkballistic. If you know the bullet diameter in inches, its weight in grains and the muzzle velocity in ft/sec, you can find out almost anything you want to know about the flight path of the projectile. If you also have the wind velocity in ft/sec and the angle in degrees, you can save a trajectory table. This application will also calculate ballistic coefficient and maximum point blank range. It requires Python and tkinter.


gbase is just what I wanted for Christmas! Working on networks, I find there's always a need to convert between decimal, hexadecimal, octal and binary. This little utility does it extremely well. The four text boxes are placed one below the other. Enter a number in the box of the type you know, and as you type, the numbers in the other boxes will increment. I doubt this application will leave the workspace of my laptop any time soon. It's simple and efficient. It requires libgtk, libgdk, libgmodule, libglib, libdl, libXext, libX11, libm and glibc.


For those familiar with tcpdump, xipdump is similar, but makes packets readable using a box containing the packet information, rather than the stream-type output of tcpdump. The author chose key bindings that remind me of Sun OpenWin bindings; not very intuitive, but easy to get used to. The program allows you to change and reinsert packets, etc. Since most work, including reading the packet stream, is performed on raw sockets, only root can run this, but you wouldn't want non-privileged users playing with this program anyway. It requires libnet, libXaw, libXmu, libXt, libXext, libX11, glibc, libSM, libICE and libpcap.


MyAddressPHP is notable for the ease with which it can be installed. The author put some effort into making the installation as painless as possible for this type of package. While he does assume you've configured your web server to handle PHP documents, the rest (setting up the software and database) is easy if you follow the instructions carefully. It is what it says it is: an address book, but one that allows you to add pictures. This is handy as a database for any organization that uses picture badges or wants to maintain individual photos. Some features are not yet implemented, but the shells are in place. It requires MySQL, PHP3, a web server and a web browser.


mygde is used for accessing a MySQL server and is patterned after xMySQL. However, this package uses gtk rather than the xforms library. It does similar operations, allowing the creation of and access to tables. Queries can be created using point and click rather than entering SQL commands, although not all SQL commands are available. For example, if you need to perform complex outer joins, this tool won't help yet, but adding those query types shouldn't be difficult. It requires libm, libgtk, libgdk, libgmodule, libglib, libdl, libXext, libX11, glibc and libnsl.


At last, the FreeS/WAN package is ready for the 2.2.x and above kernels. This package allows you to create encrypted tunnels between Internet-connected systems. You could use it to create encrypted tunnels between any two hosts, but there's little sense in doing so on a “trusted” network. This is primarily aimed at providing encrypted tunnels between two locations connected only via the Internet. What makes this package so good, or at least better than SSH? The license—this one comes with no strings. That's not true of SSH v1 and even less of SSH v2. The FreeS/WAN package compiles into the kernel in a manner simple enough for relatively inexperienced administrators, yet doesn't prevent experienced ones from adding other patches and custom configurations. It requires working kernel sources, libraries and tools to compile the kernel.


What can be said about yet another Tetris clone, except perhaps that gtktetris compiles easily on any system with the gtk libraries? The version I looked at works well, but I was unable to find a “drop” key to just let the pieces fall. This is one of my wife's favorite games, and she enjoys nice-looking color graphics, which this program has. It requires libgtk, libgdk, libgmodule, libglib, libdl, libXext, libX11, libm and glibc.

David A. Bandel ( is a Linux/UNIX consultant currently living in the Republic of Panama. He is co-author of Que Special Edition: Using Caldera OpenLinux, and he plans to spend more time writing about Linux while relaxing and enjoying life in the “Crossroads of the World”.