Development
The Darcs Revision Control System
Darcs is a relatively new revision control system that was written in Haskell by physicist David Roundy. The system is designed around a "theory of patches" which has its roots in quantum mechanics. Darcs has been released under version 2 of the GNU General Public License. The Darcs manual explains the project in more detail:![[Darcs]](https://static.lwn.net/images/ns/darcs.png)
The manual further describes these two distinctions:
Functional Branches -
"This has several advantages, since you can harness the full power of darcs in any scratch copy of your code, without committing your possibly destabilizing changes to a central repository.
"
The Theory of Patches -
"This patch formalism means that darcs patches have a set of properties, which make possible manipulations that couldn't be done in other revision control systems. First, every patch is invertible. Secondly, sequential patches (i.e. patches that are created in sequence, one after the other) can be reordered, although this reordering can fail, which means the second patch is dependent on the first. Thirdly, patches which are in parallel (i.e. both patches were created by modifying identical trees) can be merged, and the result of a set of merges is independent of the order in which the merges are performed. This last property is critical to darcs' philosophy, as it means that a particular version of a source tree is fully defined by the list of patches that are in it, i.e. there is no issue regarding the order in which merges are performed.
"
Darcs differs from other revision control systems:
"In the world of darcs, the source tree is not the fundamental object, but rather the patch is the fundamental object. Rather than a patch being defined in terms of the difference between two trees, a tree is defined as the result of applying a given set of patches to an empty tree. Moreover, these patches may be reordered (unless there are dependencies between the patches involved) without changing the tree. As a result, there is no need to find a common parent when performing a merge. Or, if you like, their common parent is defined by the set of common patches, and may not correspond to any version in the version history.
"
Here is a brief list of Darcs features:
- The ability to record changes locally.
- The ability to perform interactive record operations.
- The ability to un-record a non-published change.
- A full set of interactive commands.
- Support for integrating test suites into a repository.
- Support for multiple repository server protocols including http, ftp, and ssh.
- User-defined repository write access.
- Symmetric repositories, all darcs repositories are equal.
- Support for repository browsing via a web server CGI script.
- Cross-platform capable with support for Unix, Mac OS-X, and Windows.
- History is preserved when files and directories are moved around.
- Support for token replacing allowing global variable and function name changes.
- Per-user and Per-repository default setting capabilities.
Darcs version 1.0
was released
this week, the Linux kernel is being used as a test of the system
on a large project.
"With the release of 1.0, Roundy is also
making available a copy of the Linux kernel as a darcs repository. With
this proving ground, darcs is expected to soon scale to perform well on the
largest projects as well.
"
Darcs could prove to be a very useful tool for numerous open-source development projects. Project leaders should certainly consider its adoption.
System Applications
Database Software
Berkeley DB 4.3 released
Sleepycat has announced the availability of Berkeley DB 4.3. Many of the improvements appear to be performance related; this release also includes in-memory transaction logging. Click below for the details.knoda 0.7.2-test3 released
Version 0.7.2-test3 of knoda, a database frontend, has been released. Changes include index support for SQLite2 and SQLite3, database preselection for the Postgres and the ODBC drivers, Tri-state TRUE/FALSE/NULL support for boolean fields, and more.MaxDB PHP extension released
The MaxDB PHP extension has been released. "Compared to the previous version that worked over php's odbc extension, the new driver offers good benefits. Firstly, the extension supports the MaxDB native interface, and thus delivers significantly better performance. Secondly the extension offers a broader feature set (which is mostly compatible to PHP's mysql and mysqli extensions) compared to the earlier driver's limited ODBC functionality. The new driver enables an easy migration of existing PHP application or solutions to MaxDB."
Interoperability
Samba 3.0.8 Available for Download
Samba 3.0.8 has been released with new features and several bug fixes. Included is a fix for a remote denial of service vulnerability.
Libraries
libDSP 5.0.0 announced
Version 5.0.0 of libDSP has been announced. "libDSP is a C++ library of digital signal processing functions. It also contains a wrapper for C. Assembler optimizations for E3DNow!, SSE2 and x86-64 (SSE2)."
libxklavier 1.11 announced
Version 1.11 of libxklavier, the X keyboard utility library, has been released. "Another development release in 1.1x series of the library is out. The most important thing is significant internal reogranization, further separation of XKB-dependant code - which eventually (soon?) would allow putting some xmodmap support in."
Mail Software
Beat spam using hashcash (IBM developerWorks)
David Mertz discusses hashcash as a spam prevention method on IBM developerWorks. "Built on the widely available SHA-1 algorithm, hashcash is a clever system that requires a parameterizable amount of work on the part of a requester while staying "cheap" for an evaluator to check. In other words, the sender has to do real work to put something into your inbox. You can certainly use hashcash in preventing spam, but it has other applications as well, including keeping spam off of Wikis and speeding the work of distributed parallel applications. In this article, you'll meet David's own Python-based hashcash implementation."
Web Site Development
Easy web publishing for GNOME users (GnomeDesktop)
GnomeDesktop.org has an announcement for GPWS, the GNOME Personal Web Sharing project. "For those unfamiliar with Mac OS X, Personal Web Sharing lets you publish web pages or share files on the internet or on your companys (or schools) local area network from a folder on your hard disk. You can get your website up and running in no time. GNOME Personal Web Sharing works very similarly, a folder named website is created after you install it where you can put your web pages or any other files you want to share. All you have to do to get your own web server up is run the program."
mnoGoSearch-php 3.2.6 is out
Version 3.2.6 of mnoGoSearch-php, the PHP frontend to the mnoGoSearch web site search engine, is available with bug fixes. See the Change Log for details.UnCommon Web 0.3.2 released
Version 0.3.2 of UnCommon Web, a Common Lisp web application development framework, is available. "This version features a new component class hierarchy and new components, better documentation, an interface to the SLIME inspector, an improved session.value API, and more."
Zope X3 3.0.0 final released
The long-awaited final release of Zope X3 3.0.0 is out. It is a complete rewrite of the Zope application server based around a component-oriented architecture. Note that "Zope X3" is not quite the same as "Zope 3", which will include backward compatibility with Zope 2. See the Zope X3 FAQ for more information.Which Open Source Wiki Works For You? (O'Reilly)
Shlomi Fish reviews a number of Wiki implementations on O'Reilly. "The purpose of this article is to give an overview of several popular Wiki implementations and see how they fare. It is not trivial to switch from one Wiki implementation to the other, because this will usually require translating all of the pages from the old syntax to the new one. Thus, choosing a Wiki engine requires some care, taking possible future developments into account."
Miscellaneous
Xen 2.0 released
Xen 2.0 has been released. Xen is a virtual machine implementation which allows the running of Linux and BSD instances on a virtual system. New features included improved virtual I/O configuration for virtual machines and "live migration" of system images across a cluster. Click below for the announcement, or see the Xen project home page for more information.
Desktop Applications
Accessibility
gok 0.11.15 is available
Version 0.11.15 of GOK, the GNOME Onscreen Keyboards Suite, is available with bug fixes and improvements to the dynamic accessibility keyboards.
Business Applications
GanttProject 1.10.2 (SourceForge)
Version 1.10.2 of GanttProject is out. "It is a bugfix release which fixes several annoying bugs. Ganttproject lets you plan projects using a Gantt chart. It is written in Java. GanttProject use a XML file format. It can export the project in HTML Web pages or PDF document (using XSLT) or image files. It support 21 languages."
Desktop Environments
GNOME 2.9.1 Development Release
GNOME 2.9.1, the GNOME development branch, is out. "This is our first of our 2.9 development series releases, working towards GNOME 2.10 in March 2005. There are a number of new features present in this release..."
gnome-panel 2.9.1 is available
Version 2.9.1 of gnome-panel has been released. "This is the "Mieux vaux tard que jamais" release: it comes way too late for the GNOME 2.9.1 release, but we want people to be able to test this unstable release without waiting for GNOME 2.9.2."
KDE CVS-Digest
The November 5, 2004 edition of the KDE CVS-Digest is online. Here's the content summary: "KDevelop adds extension support. kommander improves signal and slot editor. Kwallet is now asynchronous. Juk adds support for GStreamer 0.8. KPasswordDialog adds password strength meter."
Electronics
gEDA News
The latest releases from the gEDA project include new versions of gspiceui, a GUI frontend to several Spice circuit simulators, and Confluence, a language for synchronous reactive system design.Open Collector Releases
The latest new electronics applications on Open Collector include Oregano 0.3.3 (a schematic capture and simulation application), InFormal 0.1.0 (a Verilog and PSL formal verification utility), and NuSMV 2.2 (a reimplementation and extension of SMV model checker).
Games
Eris 1.2.1 Released
Version 1.2.1 of Eris has been released by the WorldForge game project. "Eris is a client library designed to simplify client development. This release adds support for libsigc++ 2.0.x in addition to libsigc++ 1.2.x supported by the previous release. It is only of interest for people wishing to build software against libsigc++ 2.0.x".
GNOME War Pad 0.3.4 announced
Version 0.3.4 of GNOME War Pad, A VGA Planets client for GNOME, is out. Changes include bug fixes, a new Magallanes version, new constellations, and more.
GUI Packages
FLU 2.14 released
Version 2.14 of FLU, the FLTK Utility Widgets, are available with some bug fixes and feature enhancements.Gtk# 1.9.0 released (GnomeDesktop)
Version 1.9.0 of Gtk#, the GNOME 2.6 bindings to .Net, is out. "Announcing release 1.9.0 of Gtk#. This is an unstable development release for the GNOME 2.6 bindings. It is parallel installable with the latest stable release, 1.0.4."
Java-Gnome 2.8.2 and 2.9.1 announced
Two new versions, a stable and development release, of Java-Gnome are out with numerous changes. Click below for the details.
Interoperability
Wine Traffic
The November 5, 2004 edition of Wine Traffic is online with the latest news from the Wine project.
Mail Clients
Thunderbird 0.9 released
Version 0.9 of the Thunderbird mail client is out. Major new features include saved search folders, message grouping, better POP3 support, and more; see the release notes for details and download information.
Music Applications
DSSI 0.9 released
Version 0.9 of DSSI, an audio plugin API designed for software instruments with custom user interfaces, is available. "The main improvements in 0.9 are to the reference host implementation and sample plugins. The 0.9 API itself is binary compatible with the previous 0.4 release. A new convention for plugin-global (rather than instance-local) configuration data and a convention for setting a plugin's project working directory have been introduced, and 0.9 clarifies certain implementation points in the documentation."
dssi-vst 0.3 announced
Version 0.3 of dssi-vst, a DSSI plugin wrapper for VST effects and instruments, has been released. "The main improvement since the initial 0.1 release is that dssi-vst now works correctly with plugins with complex GUIs that use back-channel information to communicate things like patch data to the audio plugin. In practical terms, this means that VSTs with test keyboard widgets, patch load and save, and other natty features in their GUIs should work properly as DSSI plugins without losing automatability for the true automatable parameters."
Wired: music production and composition software for Linux (GnomeDesktop)
GnomeDesktop looks at Wired, a music production and composition system for GNOME. "Wired aims to be a professional music production and composition software running on Linux. It is using the GTK+ widget set (via wxWidgets) for better integration with the Gnome desktop. It brings musicians a complete studio environment to compose and record music without requiring expensive hardware."
Peer to Peer
Gnomoradio 0.15 announced
Version 0.15 of Gnomoradio, a peer to peer music playing system, is available. "The release of version 0.15 makes Gnomoradio the first player to be able to import playlists based on the new XSPF file format (www.xspf.org). Other changes to 0.15 include migration to gtkmm 2.4 and a few bug fixes." Gnomoradio 0.15.1 was announced a few days later, it adds more bug fixes.
Digital Photography
digikam 0.7 released
Version 0.7 of digikam,a digital photo management application for KDE, is available. This release features a metadata database backend, improved photo tagging support, a built-in image viewer with numerous plug-ins, and much more.
Video Applications
avideomux 2.0.34-test1 released
Version 2.0.34-test1 of avideomux, a graphical video editing tool, has been announced. "Let's put it that way : 2.0.30 was awful. 2.0.32 was just bad. Most audio processings were broken. 2.0.34 is not average, it is good. All bugs are fixed and the version is globally good. So please drop 2.0.30 and 2.0.32 and use 2.0.34."
Web Browsers
Firefox 1.0 released
At last, Firefox 1.0 is out. Changes since the last release candidate consist mostly of bug fixes, but there is also an improved facility for controlling how links opened by other applications are handled. See the release notes for details and download information.GNOME-Fx 0.10.1: "GNOME Firefox themes"
Version 0.10.1 of GNOME-Fx, the GNOME Firefox themes, are out. "The GNOME-Fx themes try to make Firefox look like a native GNOME application. Version 0.10.1 is a huge improvement because the themes use more native looking GTK widgets and also the help is GNOMEized."
Miscellaneous
Alexandria 0.4.0 is out
Version 0.4.0 of Alexandria, a GNOME book collection management application, is available. Changes include support of several new library formats, CueCat barcode scanner support, manual editing of books, and much more.Coaster 0.1.0 announced
Version 0.1.0 of Coaster, a disc burning application for GNOME, has been released.GNOME Comics Organizer 0.5.0 is out
Version 0.5.0 of GNOME Comics Organizer, a comic book collection tracking utility, has been released. This is a major rewrite, it adds support for the latest GNOME/GTK, an XML file format, and more.
Languages and Tools
C
GCC 3.4.3 Released
Version 3.4.3 of GCC, the Gnu Compiler Collection, has been released. "This release is a bug-fix release, containing fixes for regressions in GCC 3.4.2 relative to previous releases of GCC." See the Changes document for details.
gcc newsletter #14
The November 3, 2004 edition of the gcc newsletter is online. Topics include release schedules, version-specific speed regressions, language extensions, optimization tests, the Ada frontend, and more.
Groovy
Practically Groovy: Unit test your Java code faster with Groovy (IBM developerWorks)
Andrew Glover unit tests Java with Groovy, a Java-based scripting language, on IBM developerWorks. "Not long ago, developerWorks contributor Andrew Glover penned an article introducing Groovy, a new proposed standard language for the Java platform, as part of our alt.lang.jre series. Reader response was fantastic, so we've decided to launch this column to offer a practical guide to using this hot new technology. This first installment introduces a simple strategy for unit testing Java code with Groovy and JUnit."
Java
Using SSL with Non-Blocking IO (O'ReillyNet)
Nuno Santos shows how to use SSL with the Java 1.4 non-blocking IO package. "Previously, the IO support in Java was limited to stream-based, blocking IO, which although elegant and simple, is significantly impaired in terms of scalability, requiring one active thread for each network connection. Java NIO introduced support for IO multiplexing and non-blocking IO, which are necessary tools to build highly scalable applications."
What's new in JAXP 1.3? (IBM developerWorks)
Neil Graham and Elena Litani review JAXP 1.3 in part one of an IBM developerWorks article. "For a mature technology, the XML space is surprisingly active. Java API for XML Processing (JAXP) 1.3 was recently finalized, and is the conduit through which many of the newest open standards relating to XML will enter the J2SE platform. In this installment of a two-part article describing the JAXP 1.3 API, authors Neil Graham and Elena Litani provide a brief overview of the JAXP specification, give details of the modifications to the javax.xml.parsers package, and describe a powerful schema caching and validation framework."
Lisp
ECL 0.9d released
Version 0.9d of ECL (Embeddable Common-Lisp) is out. "This version features support for shared libraries under Windows and Mac OS X, includes a working CLX library, provides a pretty printer, and more."
Perl
This Fortnight on Perl 6 (O'Reilly)
The November 4, 2004 edition of This Fortnight on Perl 6 is online. Take a look for the latest Perl 6 discussions.Perl 6 grammars and regular expressions (IBM developerWorks)
Teodor Zlatanov compares Perl 5 and 6 regular expressions on IBM developerWorks. "Perl 6 is finally coming within reach. In this article, Ted gives you a tour of the grammars and regular expressions of the Perl 6 language, comparing them with the currently available Parse::RecDescent module for Perl 5. Find out what will be new with Perl 6 regular expressions and how to make use of the new, powerful incarnation of the Perl scripting language."
PHP
PHP Weekly Summary for November 8, 2004
The PHP Weekly Summary for November 8, 2004 is out. Topics include: ./configure, SuSE and the AMD64, Negative string offset continued, spl interfaces, Reflection API, PDO meeting at phpconf, isset and the new VM, localeconv not working, serialize (again), Upload progress meter, new overloading feature?, __call interceptor and static methods, MySQL win32 libraries, PostgreSQL and Boolean values, and make test and rfc1867.Conduct Web experiments using PHP, Part 2 (IBM developerWorks)
Paul Meagher has written part two of an IBM developerWorks series on PHP web experiments. "In Part 1 of this two-part series, Paul Meagher showed you how to improve the quality of your Web offers by developing PHP-based tools to set up and run Web experiments. In Part 2, you focus on simulating and analyzing the contingency table data arising from these Web experiments."
Python
Python 2.4 beta 2 released
The beta 2 version of Python 2.4 has been released. "Python 2.4b2 is a beta release. We'd greatly appreciate it if you could download it, kick the tires and let us know of any problems you find, but it is probably not suitable for production usage."
urwid 0.8.2 announced
Version 0.8.2 0f urwid, a curses-based UI/widget library for Python, is available. "New in this release: - Re-released under GNU Lesser General Public License. Enjoy!"
Python Memory Management
Evan Jones explores the issues behind Python's appetite for system memory. "Hence, the Python interpreter uses a variety of optimized memory allocation schemes. The most important one is a malloc implementation called pymalloc, designed specifically to handle large numbers of small allocations. Any object that is smaller than 256 bytes uses this allocator, while anything larger uses the system's malloc. This implementation never returns memory to the operating system. Instead, it holds on to it in case it is needed again. This is efficient when it is used again in a short time, but is wasteful if a long time passes before it is needed."
Tcl/Tk
Dr. Dobb's Tcl-URL!
The November 8, 2004 edition of Dr. Dobb's Tcl-URL! is online with the week's Tcl/Tk article links.
XML
Hacking iTunes (O'Reilly)
Niel Bornstein works with the iTunes music player on O'Reilly. "In this article I'll explore ways to work with the iTunes Music Library file, an XML document, for fun and education, including transforming the library into an HTML page using various technologies, and querying Amazon and Google's web services for other suggested recordings and related information."
Editors
Conglomerate 0.7.16 Released
Version 0.7.16 of Conglomerate, an XML editor, has been released. "This is still an unstable release; there are still some known repeatable crash bugs. Please download it and test that no new bugs have been introduced!"
MlView 0.7.1 released
Version 0.7.1 of MlView, a generic XML editor for GNOME, has been released. This is a bugfix release in the stable branch.
Page editor: Forrest Cook
Next page:
Linux in the news>>