Gtk-Perl Flash Cards: www.masswire.com/flash.tgz

Flash cards have always been a good way to go through questions. You get the question, provide a response and see if it's correct. That's the theory behind this little application. You can classify the question as difficult or easy, put as many as you'd like in the data file and quiz yourself. The application provides a way to keep track of the number of correct and incorrect responses, total number of questions, a button to randomize the next question and more. Requires: Perl, Perl module Gtk.

—David A. Bandel

Checkbot: degraaff.org/checkbot

This is a simple, lightweight web checker. If you run it with the --match option and match your domain name, it will not wander off on all the sites you might be linked to. You can have it mail the results or simply watch it traverse your site picking up the URLs. No more broken links, no matter how complex the site—at least none you don't know about. Requires: Perl, Perl modules File::Basename and LWP.

—David A. Bandel

Dbmail: www.dbmail.org

If you're running a large mail server with thousands of users, Dbmail may be helpful. Users and mail are all stored in an SQL database; system users do not need to be created. The Dbmail program comes not only with dbmail-smtp, a receive-only SMTP dæmon (you'll still need sendmail or another MTA for outgoing mail), but also with dbmail-pop3d, a pop3 server, and dbmail-imapd, an IMAP dæmon. Instructions for setup are sketchy, so you'll need to figure it out for yourself. Fortunately, that's not too hard to do. Configuration includes things like POP or IMAP before SMTP. Requires: PostgreSQL or MySQL, libssl, libcrypto, glibc.

—David A. Bandel

diff -u: What's New in Kernel Development

In spite of the October 31, 2002 feature-freeze, developers continue to hack on their favorite projects. December saw a number of such developments, some weirder than others. In the POSIX realm, Krzysztof Benedyczak and others did some work on implementing POSIX message queues to allow processes to communicate more directly with each other. Linux always has maintained a love/hate relationship with POSIX (and other official standards), sticking to the principle that bad ideas should be avoided whether they have an official seal or not. Message queues have not been particularly controversial in the Linux arena, but the UNIX world at large has not always agreed on the proper public interfaces for them. So whatever the ultimate Linux message-queue implementation, there will be permanent issues surrounding attempts to port any applications that use the feature.

Drivers for new hardware are churned out constantly, development series or no. December saw several new drivers for Via cards (the 8633 AGP and 8233 onboard sound card) from Nathaniel Russell and a framebuffer driver for the Intel 810 and 815 graphics chips from Antonino Daplas. Overall the framebuffer code did not fare spectacularly well in December, though many patches and advancements were made. Part of the problem is the basic framebuffer design makes assumptions that simply are not true for certain hardware, and the design issues are hard to correct because a lot of user-space code relies on the existing implementation. But James Simmons has been quite active in addressing the issues that can be addressed, and a lot of work by him and others will be in the 2.6 framebuffer code, including some fancy new APIs.

A whole new architecture saw the light of day in December. After a month's intense labor, Andrey Panin ported Linux to the SGI Visual Workstation. Some might say, as Alan Cox did when Andrey announced his work, that such an effort belonged truly in the land of dementia. After all, the VISWS was apparently a flash in the pan, appearing briefly a few years ago and then dropping off the map. But Alan still applied the patch.

Intel's sysenter and sysexit instructions, introduced way back with the Pentium II, finally are starting to find support under Linux. Theoretically, they provide a quick way to perform system calls, but in practice it proves difficult to find an implementation that doesn't sacrifice too much of the speed the instructions are intended to save. A lot of progress was made in December, but this is all quite invasive work, and as Alan Cox has said, Linus Torvalds appears to be “doing the slow slide into a second round of development work again”, as was the case with all other development series.

Speaking of invasive work, it looks as though Andre Hedrick's new IDE subsystem will be dropped en masse into the 2.4 kernel. Normally such an invasive change would be attempted only during a development cycle, but apparently the old IDE code is too nightmarish to live. News of the new IDE code's imminent acceptance into 2.4 was greeted with shouts of jubilation from all sectors. Quite a different reaction from Linus' decision to drop a new virtual memory subsystem into an earlier 2.4 kernel.

In the final months of 2002, some folks decided to set up a Bugzilla database to help bring 2.5 to a successful, stable conclusion as soon as possible. Not all developers feel that Bugzilla is the best tool for the job, however. Since the bug database was first set up, it has proven difficult to use in certain ways. Bugs go unclaimed, and developers have trouble finding references to bugs in their areas of interest. In light of this, John Bradford decided to start from scratch and implement an entirely new bug-tracking system, designed specifically for the Linux kernel. He chose to focus on automating much of the search facility and enhancing the organization and presentation of bugs to streamline the ability to find bug reports in any particular area of interest. That said, the existing Bugzilla database has its adherents, and as of the end of December 2002, John still had not put together a fully usable replacement.

—Zack Brown

This is an extremely difficult game but includes its own tips, hints and tricks manual. You can download this game or play it right on the Internet. It can be invoked as a jar file for a standalone game or called from any Java-enabled browser. If you're like me, you'll have tiles all over the place and be no closer to a solution than when you started. Requires: Java.

—David A. Bandel