October 23, 2004

Cliff's List Filter - Oct 9 - 15

Author: Preston St. Pierre

That sound you are hearing is the near death knell of your long work week. It's also the alarm bell that chimes when it's time for another round of items fresh from the List Filter. Up in this episode: Linux gets several Real Time implementations, and also several attempts at turning 2.6 into a fully preemptable kernel; Linus releases 2.6.9-rc4; Gnome's database access library makes an appearance on the Win32 platform; KDE releases version 3.3.1 of its desktop environment; and an ugly hack that will allow you to change the keyboard shortcuts in Mozilla. All this and the usual set of software releases, tips and patches from the front lines of Open Source development: the developers and users mailing lists and newsgroups. Enjoy!Linux Kernel

  • Sven-Thorsten Dietrich announced the release of the
    Linux 2.6 Real Time Kernel. The initial release of this real-time kernel is a set of 4 patches, designed for Linux 2.6.9-rc3, which aims to reduce the in-kernel latency to the level of the lowest IRQ disable. If this project achieves its aims, it will allow Linux to perform at the Real Time level, where software needs to perform quickly at times of 10's or even hundreds of microseconds, which the current Linux 2.6 kernels do not. You may need to apply this patch, which properly exports some necessary symbols for proper operation. Please note that this is a soft real-time implantation, not a deterministic hard real-time one.
  • While on the topic of Real Time Kernels, it's only fair to mention the RTAI/fusion Extension for Linux 2.6. RTAI/fusion aims to move real-time guarantees for application out of the kernel space and into user-space, while "guaranteeing bounded worst-case latencies", thus applications that require real-time performance can be assured that the maximum jitter will remain within the range of tenths of microseconds. Unlike the previous project mentioned, RTAI is deterministic. A secondary goal of RTAI/fusion is to provide an easy migration path for applications running under a traditional Real Time Operating system to a Linux-based system by mimicking the API of interest.
  • A new version of the Intel Software RAID driver (iswraid) is available for Linux 2.4.28-pre3/pre4 kernels. This patch can be applied on kernels older than 2.4.28, but you will need the libata patch by Jeff Garzik before you can apply the patch that adds this driver.
  • Linus announced the release of Linux 2.6.9-rc4 on October 10, with the hopes of releasing the final version of 2.6.9 in the very near future. Please grab it, stress test it, and report all bugs that you find to LKML.
    If, for some reason, you happen to be building this kernel with gcc-2.95.3 and binutils, you will need a minor symbol fix to properly compile the kernel.
  • The ever prolific Ingo Molnar has furthered his progress in his quest for a preemptable kernel. Witness the changes inherent in his release of version -T4 of his Voluntary Preempt patch. Since then he has abandoned the -T level altogether and has migrated to -U, as his latest version is -U3. New since -T3 is a new preemtable kernel model, and a semaphore-based locking system (also preemtable). Also note that the Voluntary Preempt patchset is now used as part of the Real Time Kernel Project mentioned earlier.
  • We could move on to another topic, but the preemptable releases keep on coming. mmLinux is a project that also aims to make the Linux 2.6 kernel fully preemtable, but with the ultimate goal of elevating Linux to the role of high performance server for multimedia applications under high load. mmLinux is an independent project and its code changes are NOT intended to be merged back into the mainline kernel.
  • There was an interesting discussion on the kernel stack, which touched on task structures, how processes are represented on the stack, and how it all works together. Attentive readers should also get a better idea of what the CONFIG_4KSTACKS kernel parameter is for in Linux 2.6.
  • udev, the /dev filesystem that runs entirely in userspace and attempts to fix much of the shortcomings of the original devfs, now comes in a version 039 flavor, which was released on October 15. Please note that the use of udev may require some serious rethinking of your initialization scripts.
  • Closing out the Linux coverage this week, we have these few remaining nuts and bolts to mention: Daniel Johnson has added support for the Logitech MX300 series of input rodents for Linux 2.6; Ronny Vindenes has fixed a problem with the CFQ v2 scheduler which, in certain cases, could trigger high CPU loads; Itsuro ODA announced the release of "yet another kernel dump tool", however read the documents very carefully before implementing as other dumping tools may suit your needs better; and please note that newer kernels may require the need of an additional boot parameter (the "lapic" parameter) to load properly.


  • A major accomplishment, it looks like the Gnome Data Access libraries are finally working under Windows. If you are interested in compiling this library, you can read detailed instructions on how to compile it. Since there were minor updates to a few of the files after the original message was posted, you should access the updated versions.
  • ILS has now been reopened for GnomeMeeting users behind NAT firewall. ILS support will probably be dropped in the 1.3 series for GnomeMeeting to be replaced with an LDAP plus a gatekeeper/SIP proxy in the near future. If you are still having problems using GnomeMeeting across a NAT firewall, then try looking in to STUN support.
  • New functions are available as patch for Gnumeric. These implement Erlang analysis functions which are essential for Telecommunications Engineers, for example. Some of you could possibly find other uses for these as well.
  • There were quite a few pieces of Nautilus news in the lists, this week. First off, a patch to fix an open bug with "Open New Window" functionality; secondly a fix to a nasty race condition that can occur when in a list view; and for those of you who would like to try debugging Nautilus, but would like to know of an efficient way to do it, here is a thread full of Nautilus debugging tips.
  • New GNOME software on display for your perusal:
    • A new version of the DejaVu font was released on October 9. These are basically Bitstream Vera fonts with more characters. While on the topic of new fonts, John Stracke has released his Essays 1743 font which is based on a typeface used in the English translations of Montaigne's essays, and designed to "look old without being so old [that] it's hard to read".
    • gedit v2.8.1 was released on October 10. This release is primary a bug fix release over the previous release, but does include several new and updated translations, and fixes at least one crash.
    • New versions of the Gnome-db components were released, which brings libgda/libgnomedb up to version 1.1.99, and its expected that the 1.2 release will be on its way, soon. These libraries provide a framework for developing database-aware applications and supports the following databases: PostgreSQL, MySQL, Oracle, Sybase, SQLite, Firebird/Interbase, DB2, mSQL and Microsoft's SQL server. Also supported are MS Access and xBase files as well as ODBC data sources.
    • A bugfix release for the Gtk2-Perl package was announced on October 11, which brings it up to version 2.8.1. The Gtk2-Perl package implements Perl bindings with the Gtk2 libraries. The only two modules with changes are the Glib and Gtk2 modules. All other modules are the same as they were from the previous release.
    • A beta release of Gnome-Schedule 0.1.0 was announced on October 12. Right now it's designed for basic task scheduling duties and is primarily a graphical front end for cron jobs. However, since crontabs can sometimes be really unreadable, this is still a great step forward in improving usability for system administrators.
    • Panel enthusiasts will be happy to hear that Gnome Applets v was released on October 13. This package includes new versions of a few of those programs that you may find sitting on the toolbars in many GNOME screenshots you may have seen (like the battery applet, or the CPU load applet). This release fixes several bugs including a crash in the Gweather preferences, as well as updated translations for a number of languages.
    • The announcement of the first public version of Goobox (v0.1.0), a CD player and ripper for GNOME, was made on October 15. It uses the gstreamer-engine to rip and play CDs and CDDB to acquire the CD metadata (like tracktitles, artist and album name). Give it a try and see if you like it!


  • For users having problems with pppd/kpppd, here is a fairly comprehensive description for configuring and debugging your PPP sessions. PPP has become increasingly harder to set up as the number of ISPs (and authentication schemes) have grown, so it always helps to have as much information as you can find at your fingertips.
  • If you happen to mistakenly remove the window boarders from an application and would like to get them back, please remember that the magic keystroke is Alt-F3, which will bring up the menu that will allow you to restore those boarders.
  • Diego Iastrubni has fixed a problem for KMix in reverse mode. Previously the balance bar would behave counter-intuitively if the mixer was in reverse mode. Now it should work in a more predictable manner.
  • If you are having problems getting your syntax highlighting working in Kate (KDE's full featured text editor), then you may want to look at a thread on syntax highlighting debugging tips to see if you can isolate the problem.
  • More big news: the KDE Project has deployed KDE 3.3.1 for your enjoyment, on October 12. Congratulations to all KDE developers that have been quietly coding away to make this release possible.
  • Stealth hacker chefs have whipped up new icing for your software kake:
    • The Network-Integrated Multimedia Middleware project has released v0.7.0 of their NMM architecture. NMM provides a framework which will allow a developer to easily create distributed multimedia applications. Implemented in C++, NMM will run under Linux and provides an access path that allows both local and remote multimedia devices to be transparently controlled.
    • Version 1.1.1 of amaroK was released on October 10. New in this release: more iCandy, better usability and lots of bug fixes, as that was the amaroK team's focus during this release cycle. One of the featured additions that should help improve readability is the new menu-bar, which should make amaroK more accessible to novice users.
    • digiKam 0.7.0-beta1 and its accompanying set of plugins were released on October 14. digiKam is a digital photo manager and image editor, making image import, organization and manipulation as easy for you as possible. New features include: a fast database for saving whatever information you'd like to attach to each image; tagging support; improved drag-and-drop support; customizable thumbnails; nested albums and more.
      The some of plugins included in this release are: a histogram level adjuster, noise removal, an unsharpen mask filter, oil painting effects, embossing effects, raindrop effects, and charcoal drawing effects. digiKam is KIPI compliant, which means that any KIPI-compliant plugin can be used in digiKam, as well as in any other KIPI compliant application, which morefreedom in your image manipulation without tying you to a specific application.


  • Here's a bit of CSS help for people out there trying to use CSS to hide and display tables. Currently, if you are using the .style.display attribute to "hide" the table, You can restore it to its proper width by using .style.display="table" as opposed to .style.display="block" (for IE, just set that property to "" to achieve the same effect). Note that .display="table" only works on browsers that are compliant with the CSS2.1 specification.
  • Windows users on something at least as fast as an ADSL connection may find these Mozilla performance enhancing tips of some use. Users on other (Unix-based) operating systems may still get some use from the about:config keys used. Please be sure to note the default values before you go experimenting. Good luck!
  • Administrators who have need to create certification files and envelopes may find some of these cmsutil usage tips helpful. Be aware that your cmsutil may have a bug in it that causes a segmentation fault, if your cmsutil is from a packaged release and not from a CVS repository updated no later than October 10.
  • Hackers and serious developers that are interested in inspecting the contents of Mozilla's history.dat file (the global history), should point your browsers to the example code from Sachin Garg which should scratch your itch quite nicely. The last 3 lines of the code are extraneous, and you are free to use the "Url" variable as you see fit.
  • While not a very accessible way of gaining access to the keyboard shortcuts in Mozilla-based browsers, there is a way of changing the keyboard shortcuts if you are brave enough to unzip .jar files, edit .XUL code and repack the archive. The previous link is designed to help someone disable the F11 and F12 keys, but I see no reason why this method can't be used for other purposes. Please note that the file you need to edit is inside of comm.jar, which is just a renamed ZIP archive.
  • Two new holiday calendars are now available for Sunbird: Bulgarian and Indonesian. You can also take a look at the complete list of available Holiday files on the Sunbird homepage.
  • To round out our Mozilla coverage for this article, you can find the summary of the October 4 Mozilla staff meeting, which covers discussion on the upcoming Firefox Preview Release 2, Thunderbird 0.9, webtools, and the need for an Oracle DBA who is willing to volunteer their time.
Click Here!