On Windows, configuration options are stored in the registry, and are arcane enough that most people use a specialized editor, or cleaner, to remove unnecessary information. Recently, in a blog entry, Andrew Ziem argues that GNU/Linux needs the equivalent of a registry cleaner on Windows. He does so by pointing out examples of files and directories that remain in your home directory even after a package is deleted, and offers his new program BleachBit as a solution. However, while BleachBit -- currently at version 0.2.1 -- is easy enough to use, you have to wonder whether the minimal disk spaced saved or the privacy gained by running it is worth the effort -- especially when such advantages come with the risk of accidentally deleting information.
BleachBit is available as source code, or as packages for various recent versions of CentOS, Debian, Fedora, Mandriva, openSUSE, and Ubuntu, as well as SUSE Linux Enterprise and Red Hat Enterprise Linux. At 16 kilobytes, it downloads almost instantly. It is enough of a standalone program that, if necessary, you can install the different .DEB and .RPM packages on a wide variety of other distributions.
As an application, BleachBit is largely self-explanatory. You select an operation from the left hand pane, reading a brief description of it in the right hand pane if necessary, and click the Preview button to see what will be deleted, then the Delete button to actually remove files and directories. Operations complete in well under 20 seconds, even if you choose all of them.
The list of applications that BleachBit cleans is a long one, and grows with each release. In the current version, the supported applications include Bash, Beagle, Epiphany, Firefox, KDE and OpenOffice.org. BleachBit also supports proprietary applications, such as Flash and Opera, as well as desktop caches and recent document lists. Among those not supported are GNOME and Mozilla Thunderbird -- although, to be fair, BleachBit is in rapid development, and is only likely to increase its support in later releases.
The BleachBit interface is also in development. The descriptions of operations would be more visible with word wrapping, and, although a generic warning that deleted files cannot be recovered appears before anything is deleted, a confirmation specific to your choices -- and, perhaps, suggesting that you preview first -- might also be order.
Even more importantly, you should be aware that BleachBit does not clear your choice of operations after they are complete, even when you close and restart the application. That means that, unless you check carefully, you could easily find yourself performing an unintended operation, all the more so because the list of operations requires scrolling to see every item, even when the BleachBit window is maximized. Similarly, you need to remember that selecting a top-level operation, such as Firefox, selects a number of other operations, not all of which you necessarily want.
The real question about BleachBit is not so much how to use it, but whether it is needed or even advisable to use. Ziem himself admits in his blog entry that "there is no promise your system will run much faster" if you use BleachBit -- and that "much" seems a euphemism for "any," if the results on my test systems are any indication. After all, unlike an unneeded entry in the Windows registry, most unused configuration files on GNU/Linux are simply not accessed, and therefore have no effect on system performance.
True, running BleachBit can free up hard drive space. However, because many configuration files are plain text, in many cases the space freed is measurable in kilobytes. The largest savings is likely to be in browser caches, but the total freed space is unlikely to be more than a gigabyte or two, an amount barely noticeable on recent computers. So, unless you are temporarily in need of more storage space until you can get out and buy an external drive, are on a network where your available space is limited, or take an anal-retentive pleasure in cleaning your system, you may find the saving of hard drive space a less than compelling argument for BleachBit. If you don't miss the space occupied by unnecessary files, then you won't see much need to reclaim it.
Probably the best argument in favor of BleachBit is the ease with which it protects your privacy. Many programs, such as Firefox, have their own controls for clearing associated files, and, if nothing else, you can set a file manager to view hidden files, and cherrypick the ones you want to delete manually. Yet, whether you wish to hide your viewing habits or simply believe in privacy, the convenience and efficiency of cleaning everything in your home directory from a single window is undeniable. By using the Preview, you can even learn from BleachBit the location and name of configuration files, which is more than you can say for many desktop administration utilities.
However, as with any desktop utility, the danger of BleachBit lies in putting power in the hands of users who may not be fully aware of what they are doing. Fortunately, unlike cleaners of the Windows registry, BleachBit does not affect system configuration, so it is not going to leave you with an unusable system if you accidentally delete the wrong file. Still, a mistake made when running BleachBit could mean the loss of valuable information stored in configuration files. After all, the whole point of having a BASH history is so that you don't need to recall or retype a command you have recently used. Similarly, if you miss that Sign ons under Firefox in the operation pane includes bookmarks and recently visited URLs, you could easily lose information that you were counting on being preserved.
Moreover, such mistakes are all the easier to make because of BleachBit's interface deficiencies (see above). Personally, I would be much more assured about BleachBit if these deficiencies were corrected, and actions within the application were hedged with more warnings and reviews of what you are about to do. Some users might complain about such additions, but making an application idiot-proof is a basic requirement if you are going to offer desktop users the power to make sweeping changes. After all, no matter what our experience, we can all be idiots sometimes, especially if tired or rushed.
None of these concerns are necessarily reasons to avoid BleachBit. Personally, I end with mixed feelings about the application. Possibly, BleachBit is an example of how following the Windows analogy too closely can lead to programs of minimal use. Alternatively, perhaps it empowers users to do what is otherwise more difficult and time-consuming, and allows them to protect their privacy without having to learn about their systems. Possibly, both could be true at the same time.
But, perhaps in the long run, the value of an application like BleachBit lies less in any improvements in performance or privacy that it offers than in the discussion of desktop and system design it provokes. Packages should be removing all traces of themselves when they are removed, but, as Ziem observes, many are not. Perhaps what is needed is not a tool like BleachBit, but stricter policies by distributions about the scripts that packages run before they are removed.
Audio ProjectsThis is a maintenance release of Rivendell. The following issues have been corrected: Several errors in handling metadata values in file imports have been corrected, and support for detecting Ogg metadata tags added. Fixed a bug in RDAirPlay that could cause a segfault when loading a log over an existing log."
Database Softwareroadmap for 2009. "The major Firebird version currently in development is v.2.5. Its feature set is being finalized at the moment in preparation for entering the Beta stage of development. The start of the Beta cycle will be accompanied by a "feature freeze" rule. The v.2.5 cycle has presented more challenges than usual in the areas of debugging and testing, due to more significant technological rework in the multi-threading part than we expected. The effect has been some degree of slippage from the original schedule. Once the v.2.5 Beta cycle is under way, we begin the development of the next major version - v.3.0." We are please to announce the release of PyGreSQL 4.0. [T]his is a major release and you should check it carefully before using in existing applications. There may be some incompatibilities. PyGreSQL is a Python module that interfaces to a PostgreSQL database. It embeds the PostgreSQL query library to allow easy use of the powerful PostgreSQL features from a Python script."
Device Driversdetails on AMD's release of 3D drivers for ATI R600 and R700 graphics processors. "Since earlier this year we have been waiting for AMD to release documentation and/or code on the ATI R600 series concerning 3D acceleration so that the open-source Linux drivers can begin to support the newer ATI graphics processors. It has taken longer than expected for AMD to complete and release this information, but it's now available. AMD has released the fundamental Linux code needed to begin fostering the development of an open-source R600 3D driver. Furthermore, this code also concerns the latest R700 series of graphics processors! The microcode for the newest GPUs has also been released."
Embedded SystemsBusyBox, a collection of command line utilities for embedded systems, have been announced. "Bug fix releases. 1.13.2 has fixes for crond, dc, init, ip, printf. 1.12.4 has fixes for ip and printf."
Interoperabilityannounced. "This is a security release to address CVE-2009-0022. The original advisory is available online."
Networking Toolsannounced. "Hosts3D is a 3D real-time network monitor, displaying hosts & packet traffic. Features: multiple sensor support, gather hostnames & services, configurable subnetwork layout, record/replay packet traffic, filter packets by hosts, protocol or port." Twisted 8.2 is a major feature release, also including many important bug fixes: * twistd now has a --umask option for specifying the umask * Log observers can now be configured in .tac files * ProcessProtocols can now implement processExited to get reliable notification of a process exiting * FTPClient has many more convenience methods * Twisted.words now has a standalone XMPP router * Twisted.names now supports NAPTR records * Twisted.web can now deal with multi-value headers and supports the Range header in requests for static files".
Data Visualizationmatplotlib, a 2D plotting library, has been announced. The what's new document has not been updated yet.
Desktop Environmentsa lengthy analysis of the recently-concluded developer survey on distributed version control systems. "It looks like there's a strong preference in the community toward switching, and that git has a strong lead in preference among the community, followed by svn, then bzr, then mercurial."
Electronicsannounced. "I have released the last stable release of gEDA/gaf for this year today (1.4.3-20081231). I'm _really_ hoping that this is the last stable release in the v1.4.x series. The sooner we can get 1.5.2 and 1.6.0 out the door the better. 1.4.3 is a roll up release that picks up a bunch of bug fixes since 1.4.2. Many thanks to everybody who did the cherry picking work (PeterB and PeterC) for this release." LayoutEditor, an integrated circuit design tool, has been announced. Open Collector has the release details: "New features: dialog to manage the layers, mapping layer/datatype on GDS/OASIS import/export possible, shortkey learning with CapsLock key, export of gerber format, barcode generator, add a crop cell function, add a crop sharp angles function, add a convert to mesh function, enhancement of the manual routing, add support of non square vias, editing of circle properties, add SVG+CVS+pixel file formats, ... and many smaller bug fixes."
Financial ApplicationsSQL-Ledger, a web-based accounting package, has been announced. Changes include: "added missing localization strings for batch printing module, added query to unlock orders when invoice is removed, added option to generate detailed purchase orders from sales orders, cross-reference consolidated orders; recall original order, shipping address selection; select from previous addresses or enter a new address, added missing lineitem details on ship/receive screen and changed template parser to allow for multiple spaces and inline if statements."
GamesI'm pleased to announce the 0.7 alpha release of Lepton, a high-performance, pluggable particle engine and API for Python. It is designed for creating graphical special effects for games or other visual applications. The engine is designed to be very flexible and does not rely on any other libraries directly. You can use it either with OpenGL (via pyglet, PyOpenGL, wxPython, etc), or with pygame by selecting the appropriate renderer. Examples are provided using pyglet and pygame. Although this is an alpha release, I think it is stable enough to be useful, and I encourage you to give it a try."
Interoperabilityannounced. Changes include: "Some simple 64-bit apps should now run. Support for subpixel font rendering. 64-bit code generation in the IDL compiler. New version of the Gecko engine. Various bug fixes."
Music ApplicationsThe third version of alsaseq, bindings to the ALSA sequencer has been released. A Makefile with test and install options was added to simplify building and installation; some constants were updated according to recent versions of the ALSA library." Our joy is tinged with sadness, as long-time LilyPond contributor and friend Rune Zedeler passed away on the 2nd of July, 2008. This release is dedicated to him."
Video ApplicationsIMDbPY is a Python package useful to retrieve and manage the data of the IMDb movie database about movies, people, characters and companies. With this release, improved search for series episodes, support for dumping data in CSV files. Many bugs fixed and other minor improvements."
MiscellaneousBleachBit is a registry, Internet history, privacy, and file cleaner for Linux and Python v2.4 - v2.6." TakeNote is a simple cross-platform note taking program implemented in Python. I have been using it for my research and class notes, but it should be applicable to many note taking situations." Task Coach is a simple task manager that allows for hierarchical tasks, i.e. tasks in tasks. Task Coach is open source (GPL) and is developed using Python and wxPython."
Languages and Tools
Assembly LanguageThis is the beta release of binutils 18.104.22.168.1 for Linux, which is based on binutils 2009 0106 in CVS on sourceware.org plus various changes. It is purely for Linux. All relevant patches in patches have been applied to the source tree."
CThe trunk remains Stage 4, so only fixes for regressions (and changes to documentation) are allowed. As stated previously, the GCC 4.4 branch will be created when there are no open P1s and the total number of P1, P2, and P3 regressions is under 100. One issue that remains is removing the old register allocator."
PythonThe 'frozendict' class has been added and the 'freeze' function has been finished. The 'is_datatype' function has been deprecated. Various fixes, including #483 and #484." YAML is a data serialization format designed for human readability and interaction with scripting languages. PyYAML is a YAML parser and emitter for Python. PyYAML features a complete YAML 1.1 parser, Unicode support, pickle support, capable extension API, and sensible error messages. PyYAML supports standard YAML tags and provides Python-specific tags that allow to represent an arbitrary Python object."
LibrariesRFIDIOt is an open source python library for exploring RFID devices."
ProfilersValgrind is an open-source suite of simulation based debugging and profiling tools. With the tools that come with Valgrind, you can automatically detect many memory management and threading bugs, which avoids hours of frustrating bug-hunting, and makes your code more stable. You can also perform detailed time and space profiling to help speed up and slim down your programs. 3.4.0 brings some significant tool improvements. Memcheck can now report the origin of uninitialised values, the thread checkers Helgrind and Drd are much improved, and we have a new experimental tool, exp-Ptrcheck, which is able to detect overruns of stack and global arrays."
Version ControlThis is a minor release including one security fix and two minor bug fixes." Amongst the usual bug fixes, small improvements and speedups in several areas, the outstanding shiny new feature is that you can now handle merge conflicts asynchronously".
Page editor: Forrest Cook
Next page: Linux in the news>>
Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds