UpFront

diff -u: What's New in Kernel Development

Zack Brown

Issue #164, December 2007

Every once in a while, someone tries to shrink the kernel by removing support for something old. Typically, a lively debate ensues, and the end result usually makes sense. This time, the question was does the kernel really need to support versions of GCC older than 4.0? The answer, apparently, was yes. At least for now, Linus Torvalds feels that end users could be using a wide variety of compilers, and those users should be encouraged to compile their own kernels and report on any bugs they discover. The fewer folks compiling their own kernels, Linus said, the fewer bug reports come in, and the less the kernel developers can rely on a global base of testers.

Adrian Bunk was the main proponent of ditching the older compilers. Adrian is one of very few people who put serious time into cleaning up the kernel sources. He's pointed out that eventually some reduction in the number of supported compilers will be necessary to reduce code complexity. The only question then is when would the developers have to do it. He's also made the case that by supporting all of these different versions of GCC (and other compilers), any particular bug might be tightly related to both the kernel version and the compiler version, in which case, it would be much less likely that the bug would be fixed, or even verified, by anyone in a position to hunt for it.

Folks like Russell King and Kyle McMartin have made the practical point that GCC 4.0 is still unstable on the ARM and PARISC architectures. GCC 3.4 also runs faster and generates better code. To this, Adrian countered that the kernel could still ditch support for older compilers under architectures other than ARM and PARISC. He had no counter to the “better code” argument, but maybe the difference in code quality would not really be so significant, considering that most kernel developers use GCC 4.0 anyway.

So, Linus' verdict is in. At least for the moment, older compilers will continue to compile the kernel. But, for those of you stuck with a development environment that requires these older compilers, you probably should start working toward an upgrade before the hammer falls.

It's always nice to see accessibility improvements in the kernel, as it is elsewhere in the world. Samuel Thibault recently extended Linux Braille support to a ten-dot keyboard, allowing a 1,024 character font. Up until now, Linux has supported only eight-dot keyboards, with 256 character fonts.

Okay, you've written a new kernel patch, now to whom do you send it? If you don't know already, finding out could be an arduous process. No more! Joe Perches has laboriously gone through the entire MAINTAINERS file and added fields to each feature entry, showing which source directories that feature affects. He's also written a script to analyze your patch and tell you exactly where to send it. Presto! Everyone's life just got easier.

Evgenly Polyakov has been working on a distributed storage system (DST) that would allow multiple systems anywhere on a network to act as a single directory tree. Maintenance and recovery are a big part of his design, so it should be feasible for users to rely on the directory hierarchy even when some directory “nodes” have to be taken down for maintenance or if their Ethernet cable falls out. There's been a lot of interest in Evgenly's work, particularly by folks like Daniel Phillips. Daniel intends to go through all the code thoroughly with Peter Zijlstra to make sure there are no memory deadlocks or other gotchas. The code still is quite new, so you probably shouldn't go trusting your data to it quite yet. Once it's ready, it should be quite impressive though.

Rik van Riel has set up a Japanese language kernel mailing list targeting kernel newcomers. The URL to join is lists.kernelnewbies.org/mailman/listinfo/jp-kernelnewbies. His hope is that Japanese developers may find this a more accessible entryway into kernel development.

Holiday Fun and Gift Guide

James Gray

Issue #164, December 2007

Linux aficionados tend to be early adopters, always on the lookout for the next coolest thing. What better time to bring more gadgets into the home than during the holidays, when the credit-card balance is already so high, you'll never notice that extra impulse buy. Here is a quick look at some gadgets that recently caught our attention.

The countdown is on to November 27, 2007, the day when you can get your very own Spykee the Spy Robot, a clever little robot that includes a Webcam and MP3 player. You can control Spykee from any remote location using the Internet and a local Wi-Fi connection. This vigilant guy can also be your “guard bot”. Upon sensing a motion, Spykee activates an alarm or sends a picture of the intruder by e-mail. Spykee also can climb stairs, operate as a Skype VoIP phone and Webcam, stream video to your PC and get itself to its charging station when its battery is low. The product is produced by Meccano-Erector and will be available for around $299 at Amazon.com and Fat Brain Toys.

www.erectorusa.com, www.amazon.com, www.fatbraintoys.com

Thanks to the French for bringing us such a portable package of Linux fun! The Archos 704 is a multimedia player that, with its 7" display and 80GB hard drive, is big enough to watch yet small enough to bring along wherever. The 704 also has built-in Wi-Fi for Web surfing on the town. Expect at least five hours of video playback, five hours of Web surfing or 16 hours of music. There is also a kit that allows you to capture video and audio from the field. Most video and audio formats are supported, though some codecs (MPEG-1 and MPEG-2) must be purchased. Suggested retail price is $550, but the street price is closer to $400. Also check out Archos' on-line store for refurbished devices.

www.archos.com

The Eurotech Group, developer the Zypad WL 1000, made this wrist-wearable computer for uses like emergency services, law enforcement, defense and the like. We don't care—we want one for Christmas anyway! Able to run Linux kernel 2.6 or Windows CE 5.0, this mobile little ten-ounce gem has all the features of a standard computer and packs touchscreen, GPS, 802.11b/g Wi-Fi and Bluetooth capabilities. The WL 1000 also has an integrated tilt and dead-reckoning system for remote user tracking and enabling an automatic standby mode when a user's arm hangs next to his or her body. Eurotech says the battery runs up to eight hours due to advanced power management. Other specs include an AU 1100 400MHz processor, 64MB of RAM, 320x240 3.5" TFT display, USB 1.1 device and master ports and an operating range of –10 to +50 degrees Celsius. In order to obtain one, you'll have to order them wholesale; Arcom is Eurotech's affiliate here in the US.

www.arcom.com, eurotech.com/wearable

With the right tools, training for next year's Honolulu Marathon will be a mission rather than a chore. Slip on the Garmin Forerunner 305, a cross-country coach for your wrist. The Forerunner is a combination stopwatch, GPS unit, heart monitor, calorie counter, workout planner and pacer, allowing you to monitor and track all of your workout data. The free Garmin Training Center software allows you to chart your progress over time using interactive graphs. Garmin's Forerunner can be purchased for around $320.

www.garmin.com

LJ Index, December 2007

1. Lower limit of the percentage of Internet traffic identified as peer-to-peer: 50

2. Upper limit of the percentage of Internet traffic identified as peer-to-peer: 90

3. Lower limit of the percentage of peer-to-peer traffic that uses BitTorrent: 50

4. Upper limit of the percentage of peer-to-peer traffic that uses BitTorrent: 75

5. Percentage of surveyed Americans who believe the Constitution establishes a Christian nation: 55

6. Number of times the word “Christian” appears in the Constitution: 0

7. Number of times the word “God” appears in the Constitution: 0

8. Number of times the word “liberty” appears in the Constitution: 3

9. Number of times the word “freedom” appears in the Constitution: 1

10. Millions of Belgian student records managed by an open-source business process management suite (BPMS): 1

11. Thousands of schools involved in the Belgian BPMS: 3

12. Thousands of customers for Intalio, the open-source developer of the Belgian BPMS: 10

13. Share price in cents for SCO the day it filed for Chapter 11 bankruptcy protection: 37

14. Millions of dollars Rackspace will invest in its new San Antonio headquarters: 100

15. Thousands of new employees Rackspace intends to hire at its new headquarters: 4

16. Thousands of hostnames housed in Rackspace data centers: 920

17. Years Rackspace has been on Netcraft's radar with Linux Web servers: 11

18. Percentage of IBM System z mainframes expected to carry Linux workloads: 25

19. Percentage discount pricing on System z mainframes specialized for Linux: 90

20. Number of servers IBM is consolidating onto 30 System z mainframes running Linux in Project Big Green: 3,900

1, 2: Ipoque.com, sourced by ArsTechnica.com

3, 4: Ellacoya Networks, sourced by ArsTechnica.com

5: First Amendment Center

6–9: USConstitution.net

10–12: Intalio, Inc.

13: TheStreet.com

14–17: Netcraft.com

18, 19: searchenterpriselinux.com

20: IBM

A Business Case for Linux at Scale

Doc Searls

Issue #164, December 2007

The trick with what we call scale is an alignment of technology, use and business models. For example, the Linux kernel itself has no business model, any more than does geology or the periodic table. What we call kernel space is low-level, foundational. In that role, it supports the vast region we call user space. This is where applications live. Here, there may or may not be business models. Apache itself has no business model, although it supports all kinds of business through its enormous “because effects”. That is, far more money is made because of Apache than with it. However, there still is plenty of money to be made with Linux, Apache and other foundational members of the LAMP stack, especially if you provide those foundations in reliable ways at costs lower than customers would pay to do it themselves.

Yet, DIY always has been at the heart of Linux Love, going back to when Linus Torvalds DIY'd Linux in the first place. That's why the sweet spot for large providers of Linux servers is to make DIY easy for experts and the customers of experts. The hosting business has been doing this since the dawn of the ISP. But, lately, Amazon has taken fresh advantage of its own scale as a huge company by providing limitless low-cost storage and compute foundations through AWSes (Amazon Web Services), best known as S3 (Simple Storage Service) and EC2 (Elastic Compute Cloud). With these, Amazon offers storage and compute power as raw utilities akin to electric, gas and water services. Will S3, EC2 and its inevitable competitors support the same kind of growth in the virtual world that those more elemental utilities have long supported in the physical world? So far, it looks like the answer is yes.

Let's take one DIY example from the far end of user space: creating audio and video productions. Here, we have a startup called Animoto (www.animoto.com), which mashes the skills of experienced TV and film producers with users' videos, music and images. At the back end, Animoto uses both S3 and EC2. Connecting Animoto's front and Amazon's back ends is a new company called RightScale. Thorsten von Eicken, CEO and founder of RightScale, says his company “provides the management platform, expertise and key critical components (load-balanced Web front end, MySQL master/slave, grid manager) to help companies focus on their core competencies that differentiate their businesses rather than the 'muck' of infrastructure”.

So, how exactly does RightScale do the mucking for the likes of Animoto? Here's Thorsten von Eicken again:

We provide a server deployment and management platform that provides open deployment recipes that users can inspect and customize. We call this “open deployment”. For example, we just made a “Rails all-in-one” server template available that contains a dozen recipes for installing an entire Rails app stack on an EC2 instance, from front-end load balancing across the Rails app processes to MySQL and periodic backups to Amazon S3. Each of these recipes is a shell script that installs some RPMs and customizes the installation for Rails. As a whole, the server template allows users to simply plug in the SVN repository holding their Rails app and launch the server, all in less than ten minutes.

But the point here is that users get not only the complete server template, but also all the recipes in open-source form. They can see how we install, say, Apache and set up the vhosts for ports 80 and 443 for their Rails app. If something breaks or they simply want to set up things differently (perhaps they don't want to redirect from HTTP to HTTPS automatically on the home page), they can clone our Apache config script, modify it and insert theirs into the server template. Now they have the same power, but customized.

Making this possible, in addition to the likes of Amazon, is a critical mass of open-source tools and building materials. But, even if the parts are free, the labor isn't. This is what creates opportunities for companies like RightScale. “Cloud computing on commodity hardware requires some rethinking: load balancing in software on 'front-end nodes', rsync-like backups to Amazon S3, dealing with dynamic DNS for round-robin DNS entries, coordinating servers in novel ways, and many more that can be solved by putting together pieces from the vast open-source toolkit and making minor changes where necessary”, von Eicken says, adding, “Of course, RightScale, being a Rails site, is built 100% on open-source components, but which startup these days isn't?”

Which moots the question of how you can make money with Linux and open source.

They Said It

Even in cultures that place a high premium on wealth, people's most treasured possessions rarely have financial value.

—Sara Wedeman, behavioraleconomics.net

Imagine if Adobe went and open-sourced all the Flex components used to build Photoshop, Premiere and Illustrator? A whole new generation of on-line editing tools would be baked into social media apps and a whole new level of functionality would flower and prosper!

Give a kid a firewall and you protect him for a day. Teach a kid to surf and you protect him for a lifetime.

In matters of style, swim with the current; in matters of principle, stand like a rock.

TiddlyWiki

Doc Searls

Issue #164, December 2007

Jeremy Ruston started work on TiddlyWiki in September 2004, and in August 2007, called it “a moderately active and successful open-source project”. He's being modest. At the time of this writing (mid-September 2007), Google finds more than 8 million pages that mention TiddlyWiki, with 2,320,000 of those also mentioning Linux.

TiddlyWiki is a breed apart. Variously described as “a reusable nonlinear personal Web notebook”, a “one-file wiki”, “a wiki-modeled client-side single-page application” and more, none of the labels are as simple as TiddlyWiki itself: a small standalone HTML file that contains all the JavaScript and CSS it needs to do what it does, which is to give you a simple and straightforward way to write and organize linked and tagged text inside a simple client-side file.

Rather than pages, TiddlyWiki uses “tiddlers”—chunks of text you can write, edit, show, hide, tag, shuffle and otherwise manipulate in a variety of ways. Using it reminds me both of blogs and outliners, yet it's different than both because it's nonlinear and non-hierarchical.

Mostly, it's handy. It's a way of writing in any browser, on or off the Web, in a form that easily can be posted, e-mailed or put on a thumbdrive for what the TiddlyWiki folks call “Wiki-on-a-Stick”.

“Our scope is intentionally small”, Ruston says. “It's unique to client-side development” and ideal for many purposes small and large—“building customizable user experiences”, for example.

TiddlyWiki also is permutational, with many versions, variations, plugins, macros and arcane uses. There are even client-side hosting sites for folks who need it. Checking it out could hardly be easier. For that, go to tiddlywiki.org.

And, see if you can come up with a one-word name for its breed.

Top Ten Reasons You Should Load Linux on a Laptop

Mark Rais

Issue #164, December 2007

Number 10: No more listening to monologues about the merits of Vista over Windows XP. As your friends describe the security improvements and begin salivating about the powerful new features, you can stop them cold by declaring, “I'm not upgrading; I'm switching to Linux.” You'll have them high-tailing it out of your house screaming, “blasphemer!” The sight alone should be well worth it.

Number 9: Installing Linux ensures that you will save yourself a bundle of money, not only at the register, but also in years to come—no need to pay for countless upgrades. Visit your favorite local computer retailer and drift through the aisles filled with various laptops. When salespeople approach you and begin touting why a certain laptop is a great deal because it comes with the Microsoft Office Professional package, wave them off. Walk a little farther down the aisle; purchase the absolute top-end laptop that does not include any Microsoft applications. As the salespeople explain that you will be paying hundreds of dollars more because you will need to add Office, simply smile and pay with your charge card of choice.

Number 8: End the constant late-night computer assistance calls from your “buddies”. They call because, “you're the computer pro, right?” When they call you again, tell them, “Sorry, I have no idea how to do that, I use Linux.” You'll never hear from them again. They'll find someone else with Vista and bug them! The pleasures with Linux laptops are endless.

Number 7: You will love the look on your family members' faces at the holiday party, when Granny figures out how easy it can be to use Linux. Can you imagine everyone gathering around your laptop, as Granny cranks up the sound on Frozen Bubble, and everyone starts doing the humpty-hump? Okay, maybe not. But, there's nothing that livens a good family gathering like 16 mugs of eggnog and a Linux game.

Number 6: Good-looking people love Linux system administrators. Paste Linux stickers over the various Microsoft ones and enjoy your Linux laptop at the mall. Passersby will note the air of confidence and energy you present as you type away. Soon enough, extremely gorgeous people will begin to stop and sit down beside you on the bench. You can answer in the affirmative, when they inquire, “Pardon me, is that Linux you're using?” As they smile, recall a few facts. The average Linux system administrator makes more money than law enforcement officers in their tenth year of work or nurse practitioners serving with your local hospital. Job security, money and power attract people like a chocolate sundae served with a cherry on top. Your Linux laptop is the cherry.

Number 5: Installing Linux on a laptop has never been easier. Most flavors now come with the latest drivers, and installation is seamless. Even more important, Linux installation on a laptop averages about 28 minutes for a complete setup. Compare this to the installation of an upgrade of Vista on a Windows XP laptop, which can take more than an hour, and you'll see why Linux on a laptop is not just a good idea, it's a major time-saver!

Number 4: Sleep more peacefully than most, because Linux on your laptop resolves many security-related concerns. For instance, you no longer have to toss and turn in bed worrying about issues like Microsoft Vista's Remote Code Execution Vulnerability, the threat of the GPCoder.h trojan and the JS/Downloader-AUD malware. In fact, most recent viruses and malware utilize vulnerabilities found with Windows, not Linux. Moreover, even if a hack attack on your laptop occurs, you are smart enough to know that using a nonroot login results in an isolated attack. Okay, so not all of these reasons are funny, but they are important. Besides, you may get a good laugh when you hear what happens to people who don't use Linux.

Number 3: Stop annoying friends who are always asking to borrow your laptop to do this and that. The next time they ask if they can “just borrow the laptop to do some work”, simply switch the mode so that it defaults to the command line. Hand over the laptop and enjoy seeing their faces as they ask, “what the heck happened?” You can retort by saying, “I installed Linux.” They will step away from the table, look at you and yell out a number of expletives. As they walk away, never to be heard from again, switch back to KDE with Beryl.

Number 2: See the raw power of Linux running on a laptop. Recently, a friend of mine connected his laptop that contained a mirror image of his company's intranet site. As the computer team was dealing with a total outage of its intranet server, the site kept running with a simple DNS change. The boss asked him what server he was using to run the site temporarily. He simply pointed down to his laptop. Linux adds a real Nitrous Oxide injection to any laptop.

Number 1: Gain friends and supporters from around the world. In fact, Linux is now used in every country of the world. Moreover, people in countries like Andorra, Eritrea and Kyrgyzstan are happy to help with any concerns you have using Linux. Adding Linux on your laptop opens a whole new world of friendships and camaraderie. Most Linux Web sites today have communities from more than 150 countries! So, if for nothing else, install Linux on that laptop to gain access to one of the most supportive communities on earth.