diff -u, Atanks and more!

by David Bandel

Next to adventure, this game or a variation of it has to be about the oldest computer game. I remember playing a game like this years ago in which two artillery guns lobbed crude-looking bombs at each other. But even before that, in the days when I was using punched paper tape and an acoustic 75-baud modem to connect to a mainframe, I remember playing a game where you input gravity and wind, then set angle and round velocity and tried to hit a computer gun before it hit you. Although light-years beyond either of those primitive games, Atanks is basically the same, only with more and better weapons and shields. Requires: liballeg, libpthread, libXext, libX11, libdl, libstdc++, libm, libgcc_s and glibc.

diff -u: What's New in Kernel Development

by Zach Brown

Bryan O'Sullivan has produced Netplug, a dæmon that monitors whether network cables are plugged in and responds by bringing up or shutting down the system's network connection. This is useful for laptops and other systems that move around a lot or that are part of a Beowulf or other cluster. Netplug performs a similar task to the existing ifplugd Project by Lennart Poettering and others, and there may be some movement toward integrating the two projects.

The /proc/kcore interface to system memory may be going away in 2.6 because of the difficulty in maintaining it across the range of architectures and even across multiple versions of a single architecture. Linus Torvalds feels that few people actually use the interface, judging from the lack of complaints whenever it breaks; he believes it may be more trouble than it's worth. It turns out, however, that some developers do use the interface for debugging purposes, although they all agree a much better solution would be to include a proper debugger in the kernel itself. Linus always has been reluctant to do this, because he feels it lowers the quality of developers' debugging efforts.

Several developers have lodged complaints with Linus Torvalds, because he occasionally modifies changelog entries for patches that already have been accepted into the BitKeeper repository. Some developers call this censorship, some say it could lead to legal hassles, and some say it avoids proper version control because the history of the changelog entry is lost. But Linus feels it is good practice to make sure all changelog entries are well formed and accurately describe their corresponding patches. And, it was he who asked Larry McVoy to add the bk comment command, which easily allows such modifications.

NFS behaves a bit differently in 2.6 from the way it behaved in 2.4, resulting in a true incompatibility between the two stable series. The problem seems to boil down to a #define NFSEXP_CROSSMNT expression that always had a slightly inaccurate meaning, one that was corrected in the 2.6-test kernels. Changing it back would mean re-introducing the inaccuracy, so it looks as though the incompatibility will stick around. The incompatibility occurs when third-party code includes the header file containing the affected #define. A simple workaround exists to fix all affected source code.

Junio C. Hamano brought Phillip Lougher's SquashFS compressed filesystem code from 2.4 up to the 2.6-test tree. SquashFS appears to be the most promising compressed filesystem currently available for Linux, although it still provides only one-time write access; thereafter only read access is available. Full read-write access may be added in the future, however. Meanwhile, its predecessor, CramFS, is looking for another maintainer. Daniel Quinlan remains the official maintainer, but he would prefer to step down if a suitable replacement can be found.

Asymptopia Flash Card: www.asymptopia.com

by David Bandel

Want to study while you're working at your computer? This program puts flash cards up at predetermined intervals so you can practice while you're waiting for downloads or browsing the Web. Making new cards does require knowledge of LaTeX, but you can follow the example cards. Requires: libXm, libXpm, libXext, libXt, libSM, libICE, libX11, libasymptopia, libm, libstdc++, glibc, libgcc_s, libXp, libdl, libtiff, libpng12, libjpeg, libz and latex.