Focus on Software

durep, dog, tkfileman and more.

I for one am glad the brouhaha surrounding the Mindcraft/Microsoft challenge has died down. I know many folks were up in arms at first about the results, and I'll offer a few of my own observations. First, I'd like to note that few sites run anything like the systems used in the benchmark, i.e., any operating system on quad-Pentium 1GB+ RAM machines. Most of my sites run on anything from 486-33s with 16MB RAM to single Pentium 450s with up to 256MB RAM, so I rarely see a dual processor machine. Second, I'd like to thank MS for providing the kernel hackers the opportunity to use these systems so they could identify bottlenecks that show up only on this type of system. Finally, I don't have a watch that measures time in nanoseconds or milliseconds or even tenths of a second. Even if a file comes three seconds later from a Linux server than from an NT server (NetBEUI is their native protocol after all, so they should be better at it), at least I know I'll get it. With NT, I'm never sure until after it arrives—if it does. I hope none of our gentle readers are numbered among those who flamed Mindcraft. I promise no benchmark software is included with this month's selections.


The du command can be used to find out how much disk space you are using, but it can be quite verbose. It often dumps out more information than anyone could use, and in no particular order. durep will show you the files on your disk, and by default, sort the information according to file size from largest to smallest. As a bonus, it displays this data graphically and can also create web pages. It requires Perl.

Well, you knew it had to happen—someone who doesn't like cat brings you dog. Being the skeptic that I am, I had to check this one out. Since cat has been around a long time, it must be sufficient for most uses—it has enough options, anyway. However, dog does add a few new options, such as -l which allows you to choose specific lines by line number, and -rot= which allows you to rotate letters using any number you choose, not just 13. You can also display the file with a $ character to mark each newline in the file. It requires glibc.

Sometimes it's the simple things in life that make it worthwhile. This is a simple thing as well. Its author says he's stopped development on it, but I see little I would change. The one nice thing about Tcl/Tk is that it's not fussy about the GUI underneath it. This little file manager will gzip, bzip2, gunzip, bunzip2, as well as tar and untar. And copy, move, rename, etc., are also included. What more could you need in a file manager? Well, how about gnorpm? I would have chosen xrpm, and that feature can probably be changed easily. This is just one of several nice packages the author has lying about on his web site (including a much improved version of the tknotepad highlighted in this column a few issues back). Requires Tcl/Tk (tested against v8.0.4) and a GUI. It will also require the actual files for those commands you wish to run (tar, gzip, bzip2, mv, gnorpm, etc.) in your $PATH.


When I was a child, I heard the statement “Every family's got a skeleton in the closet”. My family has plenty of skeletons which aren't even that discreet. Since I've started using this program, more keep appearing. If you are interested in genealogy, this web program is for you. Completely self-contained, it allows you to use either geneweb's built-in web server or your own web server and geneweb's CGI script. The author is French, and geneweb has support for thirteen languages easily chosen from the start page. Handy, when half your family speaks only English and the other half only Spanish. It requires ncurses, libm, glibc, ocaml and camlp.


This particular piece of software is a very nice complement to your firewall (packet filter or proxy) software. The use of programs such as nmap with stealth mode by script kiddies and slow port scans, etc. make detection of probes difficult to spot. Older packages, such as courtney, aren't up to the task. portsentry doesn't just report scans—it logs them and reacts to them. If someone is probing ports where you aren't offering services, it will react to those addresses and drop their packets. The author has developed a well-thought-out program and extensive documentation. This one is a must for the security-minded. It requires glibc.

DownLoader for X:

If you know what files you want, this is a very handy tool. It won't show you what's available, but if you point it at a directory, http or ftp address, it will attempt to download the files at that location. Complete with timeouts and retries, DownLoader attempts to optimize downloading large numbers of files. It would be nice to have a listing option and perhaps be able to choose particular files. Its difficulty of use is mitigated by its ability to snarf both ftp and http. It requires libpthread, libgtk, libgdk, libgmodule, libglib, libdl, libXext, libX11, libstdc++, libm and glibc.


gtkpool is a pool game for the X Window system that allows you to play a game of billiards for relaxation. What it has been able to confirm for me is that my eye is as crooked as I have always thought—my bad shots are not really imperfections in the pool table (my favorite excuse). If you enjoy playing pool, this game will keep you amused when the pool hall is closed. It requires libgtk, libgdk, libgmodule, libglib, libdl, libXext, libX11, libstdc++, libm and glibc.

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