September 30, 2004

Cliff's List Filter - Sept 20 - 26

Author: Clifton Wood

Greetings and salutations. We here at hope your work week has passed by as quickly and as graciously as possible, and have good news for you: it's Thursday, the week is almost over, and its time for more updates from the mailing lists and newsgroups. In this episode: see the first steps of a feature implementation in the Linux kernel; latency fixes take a tentative step towards mainline eligibility; ipchains and ipfwadm support are on borrowed time; the release of Evolution 2.0.0; a cute animation featuring Konqui, the KDE mascot; is KNoda, on its way to becoming a suitable replacement for Access; loads of tips for Mozilla and Firefox; and the usual assortment of helpful riff-raff. Enjoy!

Linux Kernel

  • For the curious, if you're interested in seeing the process surrounding how a design of a Linux kernel feature progresses from original proposal into finished implementation, there's a new thread that has been stared on the kernel list that might interest you. John Smirl is currently working on a new method for setting video modes based on the use of the new Linux sysfs filesystem. Rather than having userspace code muck about directly with hardware registers or a complicated driver API, this design would use the simple interface of passing a string to a sysfs-node and then letting the kernel handle all of the difficult bits. Much of this design originated at a recent Linux Symposium, but the discussion is just starting and the code is just now beginning to flow.
  • Ingo Molnar has been making great strides in the world of latencies. Now there's a bit of good news. Ingo's work on voluntary preemption in the 2.6 Linux Kernel is now getting merged against Andrew Morton's -mm kernel tree. Usually code that gets merged into the -mm tree is a sign that it is getting ready for the great move upstream into the mainline kernel. Right now the latest version of his work was released on September 23. Maybe you will soon be seeing Ingo's work in a future kernel in the 2.6 series, as many people doing real-time audio work on Linux are already using it and singing its praises.
  • Here's a warning for those of you still using ipchains and ipfwadm, who are currently using Linux 2.6 or planning an upgrade to that kernel series in the forseeable future. The fix is in. ipchains and ipfwadm support will be removed sometime after Kernel 2.6.9. As it turns out, said support for ipchains/ipfwadm has been broken in 2.6 for quite some time. For now, when 2.6.9 is released, warnings will be passed in the kernel configuration code noting that this backward compatibility will be on its way out, but a deadline for the code removal has yet to be made, especially considering that iptables on 64-bit machines doesn't work in 32-bit emulation, and this MAY hold up the removal efforts until it is fixed. To assist in the transition, there are conversion scripts available for ipchains users that can take care of most of the heavy work of transition.
  • Evgeniy Polyakov has written a addition to the 2.6 kernel that implements a generic kernel-to-userspace connector that allows a driver to register agents that can respond to kernel messages over a netlink-based form of inter-process communication. Essentially, this connector functions as an expanded version of a kernel ioctl(), with all the advantages and drawbacks of such an approach.
  • Support for the Snapstream Firefly X10 remote has been added to the Linux 2.6 kernel series. Dylan Paris contributed the changes (which apply to kernel 2.6.9-rc1-mm4) necessary to make this support a reality on September 21. Since these changes are being added to Andrew Morten's kernel patchset, you should be seeing this in an upcoming mainline kernel release, maybe by kernel 2.6.10 assuming no serious bugs develop during testing.
  • One of the more aggravating aspects of dealing with removable media on Linux can be the need to mount and unmount the volume before you can access it. There have been several attempts to address this problem (ala autofs and automounters), but these depend on implied mounts (and timed unmounts) rather than a true "hotplug" capability to the media. Luke Leighton may have discovered the solution to this dilemma of removable media, however. He speaks of using a "proxy filesystem" that can be used to access the removable media that is safe for the kernel, but may be a bit inefficient performance-wise, and explains the problems inherent with the current methods used in Linux 2.6. The trick in Luke's method is that file operations are discrete and stateless, and no dangling resources are left open for media removal to screw up. While Luke's idea sounds good there is no mention of an implementation as yet, but in an example of serendipity, Mario R. Carro was thininking along the same lines with his rmvfs project. These ideas seem to be moving along the right direction in the realms of improving Linux usability with respect to the average user. More news on this issue as it comes in.
  • On a related note, Mike Waychison announced the release of his next generation AutoFS implementation, Autofs NG v0.1 on September 24. While a lot of work still needs to be done on this project, there does exist enough of a system here that interested users can play with. Already it looks like a worthy successor to the current Linux autofs implementation, surpassing the performance of autofs3 and autofs4 in an exhaustive connection test suite.
  • Laptop users with ipw2100-based wireless network cards may be pleased to hear this next bit. Yi Zhu has made it possible for the ipw2100 to properly transition through the suspend/resume cycle. The tricky part was dealing with the on-disk firmware support that has be moved into kernel RAM on suspend and then unloaded back to the device when the system is resumed, and for all of this to happen in the proper order. While the message should include all you need to get a working ipw2100-using system to survive a suspend/resume cycle, the larger issue of dealing with similar cards still exists, and this thread should illustrate the complexities that the kernel needs to deal with when it comes to properly supporting such devices. The solution that Yi Zhu provides looks to be a good start on fixing the general issue, but a general purpose solution has yet to be determined.
  • Rounding out some of the miscellaneous traffic from the Linux Kernel list: a problem was discovered in 2.6.9-rc2 which resulted in kernel hangs and a quick fix from Trond Myklebust; Peter Williams released v5.0.1 of his Single Priority Array scheduler on September 20; a minor fix for the cpqarray scheduler, surfing jokes, aside; support for a new class of UART chips; and a recommendation for those of you experiencing problems with lockups while using the sata_sil driver.
  • Finally, here's something to tickle your funny bone. Linux 2.6 users who have run into problems with Linux's Out-Of-Memory may find this analogy to its current behavior humorous. Hopefully the inconsistencies of the OOM-killer will be ironed out in the near future.


  • A patch for the Epiphany browser made its rounds, recently. The changes update the functionality of the bookmark code, providing things like hierarchical bookmarks, improved code, and a few bug fixes. If you are going to rebuild Epiphany from source, make sure you have up-to-date Makefiles by running ./ in the top level of the Epiphany build tree.
  • To all of those interested in GNOME development in general, and Nautilus development in particular, Alexander Larsson has called for more eyes to assist in debugging the latest version of Nautilus that was distributed with the GNOME 2.8 release. With 1300 open bugs, the Nautilus developers are feeling a bit overworked and would appreciate the help. If you were ever looking for a time to step in to Open Source or Nautilus, this may be the perfect opportunity for you.
  • Dissatisfied with the default gnome-pager while using Sawfish? Rohan Nicholls has helpfully suggested a replacement. Give it a try.
  • Software contenders released into the ring, this week:
    • Polypaudio 0.5.1, a proposed replacement for esd was released on September 21. Polypaudio is a Sound Server for the GNOME environment that is supposedly drop-in compatible and ready to go. Improvements over esd include better latency (and the ability to measure them), API improvements, and better over-all performance. GStreamer, PortAudio and mplayer drivers are in the works as well as a port to FreeBSD. For the impatient, you can download a copy of the GStreamer plugin from the developer's Subversion repository.
    • In step with the release of GNOME 2.8, from last week, Evolution has reached it's landmark v2.0.0 milestone. Some of the new features include: NNTP support; S/MIME support; SpamAssassin filtering; web calendaring; and more.
    • gob2 v2.0.10, was released on September 22. Gob2 is a GObject generator for GTK+ v2.0 objects.


  • Here's a treat. Take a look at this computer generated KDE ad that's currently in the works from Bastian Salmela. It's a rather cute piece featuring KDE's mascot dragon, Konqui.
  • KOffice v1.3.3 was released on September 19 (which we missed in last week's article). Mainly a bug-fix release, KOffice 1.3.3 also features new translations for the Welsh language.
  • Here's something you can play around with and see if you can tweak into something useful. A discussion on the KDE Developers list was discussing DCOP signals and ways you could process them in a script. Richard Dale took the discussion one step further and posted an example script in Ruby that attaches to kppp and waits for the connected() and disconnected() signals. It's a rather simple example that could be extended into something useful very easily, and is a great starting point for someone looking see how the signal architecture works in KDE.
  • A useful patch for kghostview scrolled across the list that allows decimal values to be specified for the zoom factor (as governed by the user's locale). Versions of the patch exist for current KDE CVS HEAD, and for KDE 3.3.
  • Have a QT object in Perl that you know belongs to another class and having no luck with bless()? Try using CAST(), instead and see if that gives you access to the methods you were expecting.
  • Some KDE-related software releases for the week:
    • KNoda, a database frontend for KDE, now celebrates its 0.7.1 release on September 20. KNoda supports MySQL, PostgreSQL, SQLite and ODBC datasources. Support for queries, tables, forms and reports exists and it also supports Python scriptabilty as a bonus. New features in this release include an updated GUI, subforms, improvements to the query editor and better stability. Folks looking for an alternative to Microsoft Access may want to check this project out and see if it will work for you.
    • The KDE Universe simulator, G System, reached version 0.4.0 on September 23. This release focuses on world-building and improves the tools needed to populate your simulated universe with worlds that can be created with little effort. After you've created the worlds in your universe, the G System will continue to simulate and evolve your creations in new and interesting ways.


  • While this can possibly mess up a Firefox install, if you absolutely, positively have to install an extension or theme that was available for 0.9 and can't install a version for PR1.0, then you can use the trick mentioned in this thread to install add-ons from a another version. If the installed theme or extension breaks FireFox, remember that there's the Safe Mode that can be used to uninstall them, or if worse comes to worse, you can delete your profile directory (after backing it up first).
  • In case you've missed this feature and have been looking for it, you can use the TabBrowser Extensions to keep your Firefox browser from opening links in another window (they will open as tabs, instead).
  • Developers that are using the SSLv2 code in the NSS library should be aware that there was a vulnerability in this code from August and the page describing it on Mozilla's website was recently updated on September 20. If you are unaware of this vulnerability, or haven't checked this page recently, you may want to stop by again and check for recent updates that you may have missed.
  • As a helpful reference to those crypto developers and CA's that are looking at getting their CA included into the Mozilla package, you might be interested in reading a recently posted and informative thread on the issue, which contains a variety of related links on the subject.
  • If you've noticed the highlighting bug that has recently appeared in the Mozilla Calendar that cause off-by-one errors to occur when creating events or highlighting dates in the month of November, here's a workaround that you can use to avoid the problem until a fix can be created.
  • One of the more annoying behaviors of browsers is that it's hard to select and copy text that may exist as part of a link. Firefox and Mozilla users may have a way to deal with this, however, and it's called "caret mode".

That's all of the updates for this week, see you in 7 days!

Click Here!