UpFront

diff -u: What's New in Kernel Development

Zack Brown

Issue #134, June 2005

The iswraid driver seems to be on the fast track into the 2.4 tree, apparently in spite of the fact that it adds new functionality to a stable series kernel. Marcelo Tosatti deferred to Jeff Garzik's judgment on the issue, over strenuous objections from other developers. Jeff reasoned that without iswraid, 2.4 users would be unable to make use of their hardware, while detractors (including Arjan van de Ven, Bartlomiej Zolnierkiewicz and Christoph Hellwig) argued that the same could be said for all new hardware that was not yet supported. As it stands, the issue is Jeff's call to make, so we can expect iswraid in an upcoming 2.4 release.

A number of new drivers have seen the light of day. Vojtech Pavlik has written a driver for the serial Elo touchscreen device, expected to support all generations of serial Elos. Apparently this area of the kernel is just waiting to bloom, as some folks have been supporting touchscreen hardware for years as in-house company projects. A new real-time-clock driver for the ST M41T00 I2C RTC chip has been released by Mark A. Greer and almost immediately is slated for inclusion in the 2.6 tree. Mark also has released a driver for the I2C controller on Marvell's host bridge for PPC and MIPS systems.

Willy Tarreau, with blessings from Marcelo Tosatti, has started a new hot fix branch of the 2.4 tree. The -hf branch will have the same fixes that go into 2.4, but on an accelerated release schedule. New drivers and updates to existing drivers will be excluded. The -hf branch will be only for security fixes and clear bug fixes. Some might argue that before putting out a -hf branch, Marcelo might consider a slightly accelerated release schedule himself. But the situation seems to work for the developers and is in tune with Marcelo's desire to affirm 2.4's relentless drive toward stability and not to give in to any sense of urgency in the process.

Christoph Lameter has created a scrubd page zeroing dæmon and related kernel infrastructure. This is intended to help eke out the best possible speed from the page fault handler, by zeroing pages of memory before they are needed, rather than at the time they are requested. It's nice to pay attention to this sort of improvement, because even though it is not a new driver, changes no APIs and is not really visible to the outside world, it contributes to making Linux the snappy, sleek operating system that serves us all so well. These sorts of optimizations are the bread and butter of Linux and should be recognized along with the hot new drivers and fancy filesystems.

The out-of-memory process killer (OOM Killer) continues to be one of the tough nuts to crack in Linux development. Mauricio Lin recently released a user-space version that he claimed worked as well as the in-kernel version. There are many issues, however. A user-space tool runs the risk of being the victim of an out-of-memory condition itself, like any other program. But a kernel-side OOM killer is more difficult to tune for a particular system. Mauricio's compromise moves the ranking algorithm into user space, where it is more easily configurable, while leaving the actual killer in the kernel, where it is somewhat protected from the out-of-memory conditions it seeks to mitigate. Although it is a controversial issue because of the many complexities of any OOM handling tool, Mauricio's approach seems to be finding some support among top developers like Marcelo Tosatti. Mauricio also has been working in related areas, and he recently produced a patch to allow users to track the size of a process' physical memory usage in the /proc directory. This also has proven to be somewhat controversial, but Andrew Morton favors it, and others have proposed actual uses that would make it valuable in practice.

Jeff Garzik put out a reminder recently that several broken and deprecated drivers soon would be removed from the 2.6 tree. The iphase driver has been broken for years and won't even compile. The xircom_tulip_cb driver is unmaintained and doesn't cover the full spectrum of xircom 32-bit cards; the xircom_cb driver, on the other hand, works for them all and is a fine replacement. The eepro100 driver is unmaintained and will be replaced by the e100 driver. However, users who are bumping into issues where e100 is not yet a workable replacement can relax: the issues will be resolved before eepro100 is removed.

GPSBabel: gpsbabel.sourceforge.net

Don Marti

Issue #134, June 2005

If you're making maps, traveling, geocaching or otherwise using a GPS with your Linux system, don't let the crazy array of GPS data formats get you lost. Robert Lipe's command-line tool GPSBabel does for GPS data what ImageMagick does for graphics—converts what you have to what you need. Read the fine manual for options to convert data to and from Garmin, Magellan and other manufacturers' formats, along with formats that will work with Netstumbler, Google Maps and other software.

Less Mythical Every Day

Doc Searls

Issue #134, June 2005

There's no shortage of Linux personal video recorders (PVRs). Technically, TiVo is a Linux PVR. So are lots of other set-top boxes and home entertainment servers from vendors large and small. You can hack one together yourself if you like. Russ Pavlicek, my old Linux Show colleague, put one together last summer. Look up “Linux PVR” on Google and Russ' project often comes out on top.

Recently, however, I was a guest on The Linux Link Tech show, where I learned from Patrick Davila that MythTV (mythtv.org), Isaac Richards' project (covered here by Marcel Gagné in his August 2003 Cooking with Linux column, /article/6942) “has evolved into a major project with many contributors”.

The project is at version 0.17 at the time of this writing. Meanwhile, Freevo, another familiar Linux PVR project is at 1.5.3, with a 2.0 release in the works (freevo.sourceforge.net).

Patrick says, “Install can be a bear”, but the upside for DIY PVR builders is a limitless variety of actual and potential services. Start perusing those thousands of posts and threads about MythTV and it's clear we're starting to see what motivated Isaac Richards in the first place: a “mythical convergence box”.

The “myth” in this case is the convergence promise that the cable and other large commercial players have never delivered in an uncompromised form. Apple, Microsoft and other usual suspects, including the cable and satellite TV set-top box makers, all want to move your “digital lifestyle” onto their “platform”, rather than allow you to use and build what you really want. The potential capabilities are limitless.

So far, in addition to pausing and time-shifting live TV, MythTV features commercial skipping, multiple codec support growing HDTV support, and a variety of open-source applications. These include MythWeather for local forecasts; MythDVD to copy and play DVDs; MythGallery photo slideshows; the MythNews RSS aggregator; MythMusic to rip, store and play back in MP3, ogg, FLAC or WAV; a MythGame to keep your old video game collection alive with xmame, fceultra and zsnes; and MythPhone for voice and video using SIP.

In fact, MythTV is so promising that the EFF (www.eff.org/broadcastflag) featured the project in a call for independent builders to flesh out solutions that the “broadcast flag” would outlaw if they aren't built before July 1, 2005:

We want to keep the right to time- and space-shift that the VCR has given us (against Hollywood's protest). We want to keep the fair use rights that let us excerpt clips from press conferences or make our own “Daily Show” from the evening news. That's why we're encouraging people to buy HDTV tuner cards now and build multifunction receivers and recorders around them.

Here's where you can help. The folks at www.pchdtv.com make an HD-capable (ATSC) tuner card with Linux drivers. The MythTV Project has built a terrific personal video recorder (PVR) platform that gives a GNU/Linux PC features like TiVo's pause live TV and “season pass” recording. These are great for geeks, and we're looking for volunteers to help make the combination more accessible to the general public.

Time is running out, so get your HDTV hardware while you can.

On the Web

It's time to start the voting process for the 2005 Readers' Choice Awards. This year, we're changing the procedure to allow you to have even more input about which tools, products, publications and other Linux necessities are your favorites. Head over to the LJ site to read “New Procedures for 2005 Readers' Choice Awards” (www.linuxjournal.com/article/8192) and learn how you can become involved.

Thinking about teaching a class on Linux? If so, be sure to read “Designing a Course in Linux System Administration” (www.linuxjournal.com/article/8193) by Mike LeVan, a professor at Transylvania University. LeVan explains how he designed the syllabus, prepared assignments and chose the textbook. He also discusses how to integrate the philosophy behind the technology and methods of assessment.

Spring typically is a busy time for book publishers, so be sure to keep an eye on the LJ Web site for reviews of some of the newest Linux and OSS titles. In addition, we're running an excerpt from Firefox & Thunderbird Garage (www.linuxjournal.com/article/8194), written by some of Mozilla's core developers. We're also running excerpts from Chapter 7 of Arnold Robbin's Linux Programming by Example (www.linuxjournal.com/article/8195), a walk-through of the UNIX V7 version of ls.

Ten Years Ago in Linux Journal

Don Marti

Issue #134, June 2005

Greg Hankins put multiport serial boards to the test and found a Comtrol RocketPort board got the best speed score, and a Cyclades one came in best for low CPU usage. All of the competitors were EISA cards and had IRQs and I/O addresses selectable with DIP switches.

Before “commercial open source” became common, “commercial applications” meant proprietary software. A directory of commercial applications had 23 entries, including five databases and three Motif ports.

One of the classic Linux books made its first appearance. Grant Johnson reviewed the first edition of Running Linux by Matt Welsh and Lar Kaufman. Besides installing Slackware, the book got readers started with setting up a mail server and creating a Web site—even writing HTML.

Galacticomm took out a full-page ad for its bulletin board software product, The Major BBS. Linux Journal publisher Phil Hughes announced Linux Journal's first Web site and offered advertisers links from an on-line ad index, or “if they don't have their own Web site, for a nominal fee we will put their Web pages on www.ssc.com.” Out of the 47 ads in the issue, 42 included an e-mail address, but only 13 had a URL. (O'Reilly had e-mail, Web, telnet and Gopher contact info—show-offs.)

They Said It

A patent is merely the ticket to the license negotiation.

The biggest problem is going to be rewriting the budget, having to figure out what to do with all that money that's no longer going to Microsoft.

—Boyce Williams, from a thread on Doc Searls' IT Garage (garage.docsearls.com/node/550)

Don't think like a cost center, you'll get cut. Think like an entrepreneur.

—Anonymous, also from a thread on Doc Searls' It Garage (garage.docsearls.com/node/550)

You're right not because others agree with you, but because your facts are right.

The gap between customer 0 (the alpha geek) and customer n (“prosumer”) is narrowing.

—Rael Dornfest

Hack your system: It's a Good Thing.

—Peggy Rogers, “Ms. Computer”, The Miami Herald

In fact I think every programmer should fight for attribution, no matter what company is writing the paycheck. Look at the entertainment industry. Who shows up where in the credits is a big, big deal...translating directly to job satisfaction and a way to track an individual's body of work over time. This is one of the best features of open source in my opinion.

And again the Linux kernel API is changed in subtle ways that will drive an out-of-the tree driver author mad. That is, unless they get their driver into the kernel tree.

—Greg Kroah-Hartman, www.kroah.com/log/2005/02/15

TONG: www.nongnu.org/tong

Don Marti

Issue #134, June 2005

Tetris or Pong? Tetris or Pong? If this is the hardest decision of your working day, Owen Swerkstrom just doubled your productivity with this game that plays Tetris and Pong clones at the same time. You play Tetris with the keyboard and Pong with the mouse. What happens when the ball hits the descending block? Does the ball knock blocks off the stack, or just bounce? You'll have to play to find out because the rules for Tetris-Pong interaction are different every time. And if you can't get your hands trained to play the game, you always can snag Jared Burke's “Fanfare for the Common Rabbit” and other background tunes for your “happy synth songs” playlist.