They Said It, diff -u and more.

BitTorrent: bitconjurer.org

Want to share your GNU/Linux ISOs or your 950MB FLAC recordings of your favorite taping-friendly band? With Bram Cohen's BitTorrent, you can serve big files to many users at once, even from a dial-up or DSL connection, by making the clients do most of the work. As soon as any BitTorrent client has part of the file, it helps serve that part to others. BitTorrent installs easily as a helper application in Mozilla or other popular browsers. Requires Python.

—Don Marti

Crossfire: crossfire.real-time.com

If you like role-playing games, look no further. Crossfire is a multiplayer magical role-playing game that will keep you from getting any constructive work done for weeks, maybe longer. You can play on servers all around the world or run your own server. It is definitely a lot more fun playing cooperatively in a small party than playing alone. But, do remember to eat and sleep occasionally. Requires: X client: libpng12, libz, libm, libX11, libXext, glibc, libdl; Gtk client: libpng, libz, libm, libgtk, libgdk, libgmodule, libglib, libdl, libXi, libXext, libX11, libSDL, libpthread, glibc.

—David A. Bandel

diff -u: What's New in Kernel Development

New kernel driver components are cropping up to take advantage of modern high-speed serial ports. SuperIO chips have supported up to 460.8K and 921.6K baud for a long time, though no Linux driver existed. In February 2003, David Woodhouse posted a patch to give Linux access to the high-speed capabilities in those chips.

It's now possible to use thousands of hard drives under Linux. The previous limit was 256. Badari Pulavarty submitted a patch in March 2003 to raise that limit drastically. During one test run, he successfully read from and wrote to 4,000 distinct disks. The new limitations on the number of disks supported by Linux still is being investigated. Various resources become overburdened as the number of disks rises, memory usage being the main catchall for these problems. Ways of accommodating the RAM requirements of massive numbers of disks are being investigated actively. A true hard limit on the number of disks may re-emerge eventually, but not until various debris has been cleared away.

A new GPLed graphical bootloader, called Gujin (short for GPL Use of the Jnp INstruction), emerged in April 2003, billing itself as a replacement for LILO. Coded entirely from scratch by Etienne Lorrain, Gujin boasts the ability to identify available kernels at boot time, which is an improvement over LILO's need to modify the boot sector for each installed kernel; the ability to load extremely large kernels, because LILO's size restrictions are being strained by the growing size of recent 2.5 kernels; and a sexy graphical interface for choosing which kernel to boot. It's still quite a new project, so don't look for it to take over the world in the immediate future; however, it does promise to be a flexible, powerful alternative to LILO and GRUB.

A new set of API functions for USB gadgets has been produced by David Brownell. This is intended to be used by peripheral devices, such as PDAs and other embedded systems running Linux. The API functions provide a consistent interface so that software written for one peripheral device can run unchanged on another, in spite of the fact that the two pieces of hardware may be quite different.

Now you can track the input/output readiness of files in a portable manner, using the new libivykis library by Lennert Buytenhek. This past April he released the library as a wrapper around functions like poll() and kqueue(), enabling a standard interface for high-performance networking servers, regardless of the system on which they happen to be running. The SourceForge page for libivykis lists it as fully stable and ready for production use, in spite of the fact that the first public release took place only recently. Whatever the case, libivykis apparently has been used already to produce proxy servers for various protocols, as well as a streaming video server.

The proprietary BitKeeper (BK) tool is becoming more and more firmly entrenched as the version control system used in kernel development. A new real-time BitKeeper-to-CVS gateway, set up by BitKeeper's creator, Larry McVoy, has silenced some of the more vocal anti-BK kernel developers. At the same time, free alternatives like arch and Subversion appear to be banding together, working to solve the formidable problems that have kept free version control systems from providing the state-of-the-art features found in BitKeeper.

—Zack Brown