The UpFront Section


LJ Index—April 2004

  • 1. Starting price in dollars for a Linux PC by CPUBuilders at Sam's Club: 256.68

  • 2. Starting price in dollars for a Linux PC by Microtel at Wal-Mart: 199.98

  • 3. Price in dollars for a loaded 2.66GHz Linux-Certified Debian Linux Laptop: 1,749

  • 4. Billions in dollars Japan is spending to fund Linux developers in Japan: 8.3

  • 5. Number of local companies in Taiwan involved in open-source software development: 20

  • 6. Current production value, in millions of dollars, of open-source software developed in Taiwan: 3.4

  • 7. Millions of dollars Taiwan government will put into promotion of open-source software development: 3.4

  • 8. Percentage of servers in Taiwan currently running open-source software: 10

  • 9. Goal percentage for servers in Taiwan running open-source software by 2007: 30

  • 10. Percentage of personal computers in Taiwan currently running open-source software: 0.2

  • 11. Goal percentage for personal computers in Taiwan running open-source software: 5

  • 12. Stock value in billions of dollars paid by Sun Microsystems for Cobalt Networks in 2000: 2

  • 13. Number of Cobalt products Sun continues to make after February 19, 2004: 0

  • 14. Millions of copies of the Linux-based Sun Java Desktop System projected for installation in China: 200

  • 15. Minimum starting install rate per year for Sun Java Desktop Systems, beginning January 2004, in thousands: 500

  • 16. Maximum starting install rate per year in millions for Sun Java Desktop Systems, beginning January 2004: 1

  • 17. Sun's goal number in millions of Linux PCs in China: 500

  • 18. Range of percentage of cost reductions made possible by migrating from Microsoft Office to OpenOffice.org: 60–70

  • 19. Thousands of citizens per week using 72 open-source telecenters in Sao Paulo: 150

  • 1: Sam's Club

  • 2: www.walmart.com

  • 3: Linux Certified

  • 4: itbusiness.ca

  • 5–11: Asia Computer Weekly

  • 12, 13: CXO Today

  • 14–16: Motley Fool

  • 17: John Fowler of Sun, at Apachecon

  • 18: John Terpstra

  • 19: Nat Friedman

diff -u: What's New in Kernel Development

The 2.6.0 kernel has come out, roughly on schedule. The arrival of a stable series at a predicted time is a first in Linux development, and it's none too common in the rest of open-source development either. Although most people tend to accept Linus Torvalds' discovery that encouraging help from arbitrary developers actually does result in better code and faster development, the secret of predictable release cycles has remained elusive.

In the case of the 2.6.0 release, Linus did insist on maintaining feature freezes and other policies without going back on them, but this itself could work only if the various features were made to coalesce at roughly the same time. Clearly, no simple method has emerged yet. In terms of maintainership of the 2.6 tree, this job apparently has gone to Andrew Morton, in much the same way that the 2.4 tree went to Marcelo Tosatti and the 2.2 tree went to Alan Cox. Actually, even now it is unclear who is the true maintainer of the 2.6 tree. Andrew certainly appears to be making decisions with authority, but Linus is the one who puts out actual releases. Perhaps Linus and Andrew will continue in tight collaboration until the 2.7 fork, but for now the overall maintainership situation is much less clear than it was for any of the previous stable series. It will be interesting to see how these issues play out in the 2.7–2.8 time frame.

Last month I said XFS might not make it into the 2.4 tree due to Marcelo Tosatti's plans for a deep freeze following the emergence of the 2.6 series. In fact, XFS did make it into 2.4 before the final cutoff. This was partly due to a large developer outcry, in which it was pointed out that XFS was the last major journaled filesystem missing from 2.4. In addition, Marcelo himself previously had indicated that XFS would go into his tree when it was ready. In the end, Marcelo did insist on a thorough analysis of the code by a third party before allowing it into 2.4. Ultimately, however, XFS made the cut, and further XFS work is going into 2.4 to round off the feature in spite of the deep freeze. Undoubtedly, this will taper off quickly.

Ian Kent has (for the moment at least) accepted the role of DevFS maintainer. This is a sharp reversal of the previous trend, which was to let DevFS die a quiet death and replace it with a similar feature, such as udev. In fact, Greg Kroah-Hartman has been making regular udev releases, with an eye toward exactly this possibility. However, in spite of DevFS' flaws, including some that are apparently so severe as to be virtually unfixable, DevFS still provides features that no other system has yet been able to surpass. Folks like Ian have begun to advocate keeping DevFS in the kernel and fixing whatever problems it may have, however difficult they may turn out to be. Ian, for as long as he lasts, has decided to accept the challenge. It will be interesting to see how the other kernel developers, notably Alexander Viro (a particularly vehement DevFS-hater), take to this unexpected turn of events.

Yasunori Goto has been working on some code to allow RAM hot plugging. So far he's been targeting NUMA machines, but high on his to-do list is a port to IA-64 and IA-32 machines. Although interesting for desktop users, this feature could be quite a boon to server administrators, who often are blamed for downtime on company systems. It also brings us closer to truly stackable systems. Imagine a wearable computer that gains two additional processors when you put on your shoes. Yasunori may not be thinking quite along those lines, but the prospect of hot-plugging RAM chips is enticing.

JS Calendar:

If you are designing or writing a Web page that requires date inputs, this tool handles the task nicely. The author shows you exactly what code to use to have the calendar appear as a pop-up or flat calendar (one that's static on the Web page), how to script different date formats for form inputs and more. Ensuring that date inputs in forms are correct has never been easier. Requires: browser capable of running JavaScript.

User-Mode Linux:

Definitely not for the faint of heart or for RAM/CPU-challenged systems. User-Mode Linux (UML) allows you to build running Linux systems within Linux systems for use as sandboxes or virtual servers. It's a poor man's way to emulate a mainframe running Linux instances. You can bang on your sandbox all day without affecting your host. Perfect for setting up lab rats, honeypots or verifying that the latest updates won't hose your other systems. If you made a copy of the file beforehand, going back is all too simple. It's also great for hosting providers to give clients their own servers without the additional hardware costs. Requires: running Linux system with X (preferably with the optional skas3 patch) and a uml-patched Linux kernel.


liamtog is a spambot-poisoning system, whose name is “got mail” spelled backwards. It creates an endless self-referencing web of links that include bogus mail addresses so spammers' Web crawlers harvest a bunch of bad data for their lists when they scan your site. That much has been done by spambot-poisoning scripts for more than three years.

I wanted some things in a spambot poisoner that I didn't find in the ones available, so I wrote my own. liamtog supports spam traps, allowing you to configure a small number of the bogus e-mail addresses to be in a domain or subdomain you designate as a spam-trap domain. This can be used for capturing spams to updating your filters automatically. You can control such things as the length of the page it generates, how often it pauses during the output to slow down the spambot's progress and what mix of words, links and mail addresses it should have. And, you can configure it differently for various virtual Web servers on the same server. Requires: Perl 5, cgi.pm and Apache httpd 1.3 or 2.0. mod_perl is optional but recommended.

They Said It

First, our chairman has challenged the IT organization, and indeed all of IBM, to move to a Linux-based desktop before the end of 2005. This means replacing productivity, Web access and viewing tools with open standards-based equivalents.

—Bob Greenberg, CIO, IBM (www.theinquirer.net/?article=13485)

Standards have nothing to do with innovation; a good standard is what happens when an industry basically has shaken the bugs out of a technology and then, after the fact, writes it down. This is true of all the really successful standards: grams and meters, voltage, the calendar, octane ratings, TCP/IP, XML.

Most art forms are produced “live” in the same way at some point, aren't they? If art patrons came to pay for the performance, and being involved in the performance, rather than for the artifact itself as if it was a bar of gold, then P2P wouldn't be the threat it's characterized as.

This is already what's happening with software and open source—being successful is less about hiding yourself away and creating the perfect code, and more about participating in the community process by which a body of communal code is written.

—Brian Behlendorf (from an e-mail)

The world rewards action. It doesn't reward much of anything else.

APG and TkAPG:

Using APG, you can get barely pronounceable passwords or totally random passwords. It has a server-client mode so you can request passwords over the network or generate them locally. An optional Tcl/Tk client makes it easy for anyone to use. APG is flexible and also includes a PHP application for your Web server to generate random passwords. Requires: libm, libcrypt, glibc and optionally Tcl/Tk.


Need to convert from ext2 to something like ReiserFS or XFS? With convertfs, you can do it on the fly on any unmounted filesystem or on one you can unmount from a running system. Don't try this at home—or anywhere else for that matter—without a backup. However, I successfully converted several ext3 filesystems to XFS. The included bash script even reminds you to change your /etc/fstab entry for that partition. Requires: glibc and kernel with loop device support.


I've seen several local/remote backup packages, but this probably is one of the simplest to set up and use. It also makes use of hard links for storage, so the same file isn't stored twice but hard linked, which saves a lot of disk space. Backups can be made as often as you like, and remote backups use SSH. Requires: Perl, rsync and SSH (optional).


Filelight is a graphical version of the disk usage utility du. It shows you disk usage as a colored wheel. You can see the overall usage in the center of the circle, then various directories and subdirectories branching out. Moving your cursor over any area provides more detail on that area and subordinate areas. See at a glance where your disk space went. Requires: libkio, libkdesu, libutil, libfam, libkdeui, libkdecore, libDCOP, libresolv, libart_lgpl_2, libkdefx, libqt-mt, libaudio, libXt, libXmu, libXrender, libXcursor, libXft, libfreetype, libfontconfig, libdl, libpng12, libz, libXext, libX11, libSM, libICE, libpthread, libstdc++, libm, libgcc_s, glibc, libGL and libexpat.

Hex Puzzle 22:

Here's a tough one for all you puzzle fans. Simply fit the various-shaped pieces into the puzzle. Frustrate your friends, family and the shop know-it-all. It's a lot harder than it looks, but if you can solve a Rubik's Cube, this should be easy. Requires: Tcl/Tk and wish.

The Godfather of SOLIS

Jon “maddog” Hall and Cesar Brod first met in 1999. In 2001, he visited Univates, where he actually suggested the team should think of spreading what they were doing to other universities. He is considered to be the Godfather of SOLIS. See page 96 of this issue for more information about SOLIS, the Brazilian Free Software Cooperative.


Free Dummies Books
Continuous Engineering


  • What continuous engineering is
  • How to continuously improve complex product designs
  • How to anticipate and respond to markets and clients
  • How to get the most out of your engineering resources

Get your free book now

Sponsored by IBM

Free Dummies Books
Service Virtualization

Learn to:

  • Define service virtualization
  • Select the most beneficial services to virtualize
  • Improve your traditional approach to testing
  • Deliver higher-quality software faster

Get your free book now

Sponsored by IBM