As Linux (ab)users, most of us take networking for granted. Luckily for us, this is made easy due to the Linux kernel design. But this can be abused, and badly. Although UNIX and Linux administrators tend to have a better handle on networking than most others, I want to relate something that, while it happened on a Windows network and was exacerbated by poor practice, also can happen on a Linux network.
Some 18 months or more ago, I reviewed a client's network before installing a Linux firewall. Their network was running 10Mb and had some long cable runs (in some places using telephone cable rather than Cat 5 cable), poorly terminated cables and up to four hubs cascaded. They also were running three protocols (IP, IPX and NetBEUI). Needless to say, with over 15% packet loss, communications were poor. A couple of weeks ago, this client decided to upgrade from a slow 64k frame-relay connection to a significantly faster 128k wireless connection. At over 26% packet loss, their network collapsed. They're doing better today with a redesigned network: 100Mb circuits, one protocol (IP), the removal of the hub cascade and correct, well-made cables. But their administrators did not understand what had happened. We might blame this on the fact they were MCSEs and had no UNIX network training, but it can happen anywhere administrators don't have a full grasp of network basics. There's a lot of networks out there, and many are in bad shape. So don't laugh, you might just inherit one.
Before I get started reviewing software, I want to note that this is the first issue of the fourth year of Focus on Software. During this time, some programs featured here have advanced significantly, while others have (seemingly) disappeared. So I'm going to feature one program from three years ago each month; if you have a favorite I featured in the past, let me know.
For this month's flashback, I looked at several very good programs, including the GTK+ Equation Grapher (geg), gtkfind (which seems to have disappeared from the Web) and X Northern Captain, among others, but my selection is PySol.
Whenever I upgrade my system, I always try to clean out all the cruft (and I have a lot of cruft). Well, the day I upgraded my system, not less than two members of the family complained that PySol was gone. Few programs are as used as this one, so despite the fact that it's a game, this one deserves another mention. I called it “Windows Solitaire on steroids” three years ago, but it has really advanced—sound, music, card sets and hundreds of games. This eclipses any commercial card game software I've seen. Requires: Python.
Hard-core network gurus might like to plow through a tcpdump file and find it easy to read. But if you're just starting out, Netdude is a very nice utility that will read a tcpdump file and format the output so that it's extremely readable. You can even make changes to the file and save it back. Requires: libgtk, libgdk, libgmodule, libdl, libXext, libX11, libm, libglib, libpcap, glibc.
The ifmonitor utility will watch an interface for you, collect data on it from the /proc filesystem and insert it into an SQL database. A PHP script is then available to access that data and display it as a graph in a web browser. It's simple and easy to install and use. Requires: MySQL, /proc, Perl, Perl module DBD::MySQL, PHP with gd and MySQL, web server with PHP, web browser.
This should keep folks occupied for some time. Try to align five same-color balls to remove them and score points. Each time you don't, three new balls appear randomly on the grid. Requires: libtk, libgdk, libgmodule, libglib, libdl, libXext, libX11, libm, glibc.
Manhattan Virtual Classroom manhattan.sourceforge.net
This is an extremely simple, easy-to-use system for students and teachers. A truly virtual classroom, the author built it with security in mind. While not the simplest of applications to install, the author provides clear, concise installation instructions. Follow them to the letter, and you can't go wrong. If you are a teacher or consultant working with a school, this program deserves a demonstration. Requires: glibc, Apache Web Server.
This is an extremely impressive 3-D star viewer. You can visit the known universe from your computer. The graphics are well done, and you have a lot of data available. While the beauty is striking, what it will do to your system is just as striking. I may not have the latest and greatest gigahertz system going, but I didn't think it was that slow until I ran this. I wouldn't even consider trying to run this on a classic Pentium I. Requires: libpng, libjpeg, libGLU, libGL, libSM, libICE, libXmu, libXi, libXext, libX11, libstdc++, libm, libz, libpthread, libdl, libXt, glibc.
Until next month.