The Boost C++ Libraries
December 6, 2005
This article was contributed by Matthew Vogt
Whatever type of software you develop, there probably exists an
open-source C++ library that can help you avoid re-inventing the wheel.
However, C++ offers no
analog of Perl's CPAN or Java's extensive environment, so it can be
difficult to find code of sufficiently high quality which can be easily
integrated with code from other sources. In recent years, the Boost C++
Libraries have become the place where a C++ developer should look first
when seeking quality open-source C++ components.
Boost is the product of
an informal group of C++ programmers developing free
open-source libraries that are high-quality, portable and
widely useful.
The Boost C++ Libraries provide components that can be employed in just
about every development project. Boost libraries are among the most
powerful and portable components in the world of C++ development.
Whereas the quality of open-source code is often an unknown quantity,
the standard of code distributed in the Boost distribution is remarkably
high, owing to the
extensive peer review process required to accept
libraries into the distribution. Each library in the Boost distribution
has been reviewed by the Boost developers and accepted through an open
voting process, ensuring a
consistently high level of quality, and an
adherence to principles of the C++ community. Boost libraries are
designed to work well with the C++ Standard Library, and other libraries
designed around the principles embodied in the Standard Library. Boost
libraries are loosely-coupled, and designed so that you can use only
what you need, without trying to provide an all-encompassing
environment.
Boost libraries are all released under the
Boost Software License,
an
extremely permissive license which is designed to make the libraries
equally useful to commercial and non-commercial developers. The Boost
Software License is very similar to the
MIT License, with the major
difference that object code derived from Boost-licensed source code can
be redistributed without the reproduction of copyright messages. This is
required to permit all developers to use Boost libraries in all of their
code, without concern over eventual distribution requirements.
The current version of the Boost Libraries is Version 1.33.1, released
on December 5, 2005. It contains
63 libraries
to assist C++ developers. Many of these libraries are useful in a
broad range of application development, such as the
threads library,
the
regular expression library, the
portable filesystem library and the
smart-pointer library. Other Boost libraries help to make C++ a
more expressive and productive language in which to develop. These
libraries include the generalized
function
and bind
facilities, the
signals library
and support for named (rather than positional)
function arguments.
Finally, Boost also contains libraries that are designed to help
C++ developers improve their own libraries; examples include the
concept-checking library, the
unit testing library, the library for developing
iterators and that for
accessing type traits.
Perhaps the best reason to use Boost, however, is because of its
contribution to the C++ Standard Library: using the Boost libraries
today is a foretaste of the next C++ Standard Library revision. The C++
standards committee favor the standardization of proposals that have
proven their worth in real-world use. Boost is an ideal proving ground
for such proposals, and this has been demonstrated in the
Proposed Draft Technical Report on C++ Library extensions
(PDF), known as 'TR1',
the first specification of likely additions to the next C++ standard.
Ten of the fourteen included proposals were implemented first as Boost
libraries, and proven mature and robust in the Boost distribution.
Other Boost libraries have been proposed for acceptance into the next
Technical Report ('TR2'), open until October 1, 2006.
Boost development is ongoing, you can participate by joining the
mailing list
for development, or the
boost-users mailing list
to discuss using the Boost libraries in your development work.
Comments (30 posted)
System Applications
Database Software
LiteSQL 0.3.1 Released (SourceForge)
Version 0.3.1 of LiteSQL
is available with bug fixes and other improvements.
"
LiteSQL is a C++ library that integrates C++ objects tightly to relational database and thus provides an object persistence layer. LiteSQL supports SQLite3, PostgreSQL and MySQL as backends. LiteSQL creates tables, indexes and sequences to database and upgrades schema when needed."
Comments (none posted)
PostgreSQL Weekly News
The December 5, 2005 edition of the PostgreSQL Weekly News
is online. Take a look for new PostgreSQL database articles and resources.
Full Story (comments: none)
Interoperability
Samba 3.0.21rc2 Available
Release Candidate 2 of Samba 3.0.21 has been announced.
"
This is a release candidate of the 3.0.21 code base and is
provided for testing purposes only. While this snapshot
is *not* intended for production servers, we do believe that
this will become the 3.0.21 final release. Your testing
and feedback is greatly appreciated."
Full Story (comments: none)
LDAP Software
Announcing Fedora Directory Server 1.0
Red Hat has released version 1.0 of FDS, the Fedora Directory Server.
FDS consists of an LDAP server and associated utilities.
"
This release marks a significant milestone for the open source
community, who now have access to the code for the console and
administration engine as well as the previously open sourced LDAP
engine. This release uses the Apache httpd engine as its administration
server, and includes mod_nss - a rewrite of mod_ssl which uses the
Mozilla NSS crypto engine."
Full Story (comments: 6)
LAT 0.8 released
Version 0.8 of LAT, the LDAP Administration Tool, is out with a number
of new capabilities.
Full Story (comments: none)
Libraries
Python OpenID library 1.0 announced
Version 1.0 of the Python OpenID library has been announced.
"
This library contains packages to support
both OpenID consumers (relying parties) and servers. For back-end
storage, it supports a variety of methods, including flat file, SQL, and
MemCached.
In our own work on making applications OpenID enabled, we've been
reminded that every web framework is different. For that reason we've
strived to make this library general enough to fit in to any Python web
application."
Full Story (comments: none)
Mail Software
Bogofilter 1.0.0 Released
Version 1.0.0 of Bogofilter, a Bayesian email spam filter, is out.
"
This release is the culmination of 3 years of work that began after
Paul Graham's article "A Plan for Spam". Bogofilter has now reached a
sufficient level of capability, maturity, and stability that it is
worthy of the "1.0.0" label."
Full Story (comments: none)
Fetchmail 6.3.0 released
Fetchmail 6.3.0 is out. This is the first major release of fetchmail since
the Community Fetchmail Team took over maintenance of the program from Eric
Raymond, the original author. "
More than two years after the previous formal 6.2.5 release, this
collects several dozen bug fixes, documentation, portability and IPv6
improvements and marks the beginning of a new 'stable' 6.3.X branch
that will not change, except for bug fixes and documentation updates."
Full Story (comments: none)
Networking Tools
Nagios 2.0b6 has been released
Version 2.0b6 of
Nagios,
a host service and network monitoring program, is available.
"
Nagios 2.0b6 has been released to fix a few bugs present in the beta 5. You can download it here. The changelog can be found here. At the current rate, version 2.0 should see a stable release before the year's end."
Comments (none posted)
Printing
alternate pstops 1.93k released
Version 1.93k of the alternate pstops print filter for CUPS
has been released.
See the
change log file for details.
Comments (none posted)
Security
Nepenthes 0.1.4 released (SourceForge)
Version 0.1.4 of Nepenthes
is available with several bug fixes.
"
Nepenthes is a versatile tool to collect malware. It acts passively by emulating known vulnerabilities and downloading malware trying to exploit these vulnerabilities."
Comments (none posted)
Web Site Development
Apache HTTP Server 2.2.0 Released
Version 2.2.0 of the Apache web server has been announced.
"
Apache 2.2 offers numerous enhancements, improvements, and performance boosts over the 2.0 codebase. For an overview of new
features introduced since 2.0 please see:
http://httpd.apache.org/docs/2.2/new_features_2_2.html."
Full Story (comments: none)
Araneida 0.90 released
Version 0.90 of Araneida is out.
"
The new
maintainer Alan Shields has merged to the official branch several
changes he had previously maintained separately.
Araneida is a small and extensible HTTP server written in Common Lisp.
It is designed to sit behind a caching proxy, dynamically generates
all content by calling user-defined handlers, provides advanced HTML
generation facilities, and more."
Full Story (comments: none)
KnowledgeTree 3.0 Beta 2 released (SourceForge)
Version 3.0 Beta 2 of KnowledgeTree, a web-based cross-platform
Document Management System,
is available with a number of bug fixes.
Comments (none posted)
Two new Zope releases
Two new versions of the Zope web development platform have been released.
Zope 3.2.0 beta 1 features a switch from
ZServer to the Twisted server, among other changes, and
Zope 2.9.0 beta 1 includes new versions of ZODB, Five, and more.
Comments (1 posted)
Analyzing Web Logs with AWStats (O'Reilly)
Sean Carlos
uses AWStats for web log analysis on O'Reilly.
"
A crucial, if often overlooked, aspect of running a successful web site is the study of activity occurring within the site. The information gleaned provides valuable input to continuous improvement initiatives, ranging from site architecture and content enhancements to traffic generation. This is the first of a two-part series exploring how to use the open source tool AWStats to perform web server log file analysis. This first part shows how to prepare a sample web log file, perform a basic installation of AWStats, generate reports, and review web analytics terminology; the second part will focus on report interpretation."
Comments (none posted)
What's New in ModSecurity (O'Reilly)
Ivan Ristic
introduces ModSecurity 1.9 on O'Reilly. "
Two years ago, almost to the day, O'Reilly Network published my first article, Introducing ModSecurity. ModSecurity was stable and useful before the article went out, but it was not widely known. The publication of the article marked a new phase in the life of ModSecurity, introducing it to a much wider audience. As I write the second article, I can't help but feel another phase is about to start. I feel we are entering the phase of maturity."
Comments (none posted)
Desktop Applications
Audio Applications
Rivendell v0.9.62 released
Version 0.9.62 of the Rivendell radio automation system is out,
it features bug fixes.
Full Story (comments: none)
Speex 1.1.11.1 Released
Version 1.1.11.1 of
Speex,
an open-source audio CODEC, is out.
"
This is a brown-paper-bag release fixing a pretty bad bug that affected the fixed-point port in 1.1.11. Architectures that use float were not affected at all. Architectures that use fixed-point had a big drop in audio quality. Only version 1.1.11 is affected. Sorry about the inconvenience."
Comments (1 posted)
CAD
Twenty-seventh release of PythonCAD now available
Release 27 of PythonCAD is out.
"
The twenty-seventh release contains primarily bug fixes and internal
code enhancements. A long-standing interface problem where the display
of selected entities was not clear has been fixed. When you select an
entity it is redrawn in a highlighting color, making it clear which
entities are selected at any one time. Also, the ability to deselect
a selected entity has been added to the interface. The bug fixes included
in this release address a few problems introduced in the previous release
as well as various older issues."
Full Story (comments: none)
Desktop Environments
GNOME 2.12.2 is out
Version 2.12.2 of the GNOME Desktop and developer platform has been
announced.
"
This is the second point release of the stable 2.12 series of
GNOME and a lot of hard work has gone into making it more enjoyable for
ur users and developers."
Full Story (comments: none)
GARNOME 2.12.2
Release 2.12.2 of GARNOME, the bleeding-edge GNOME platform is out.
"
Incorporating
the GNOME 2.12.2 Desktop and Developer Platform, together with a host of
third-party GNOME packages, Bindings and the Mono(tm) Platform -- this
release irons out yet-more bugs, hopefully adds yet-more stability and
ships with the latest and greatest stable releases."
Full Story (comments: none)
GNOME Software Announcements
The following new GNOME software has been announced this week:
You can find more new GNOME software releases at
gnomefiles.org.
Comments (none posted)
Bag of Software (GnomeDesktop)
GnomeDesktop
covers
three application updates in its Bag of Software series:
"
A new release of the Scribes text editor, introducing Super Slide Me an app for creating slide shows and tutorial for adding animation to a gtk-engine theme."
Comments (none posted)
The GNOME Journal, December Edition (GnomeDesktop)
GnomeDesktop has
announced the
availability of the latest issue of
Gnome Journal. This issue features
a story on the Macedonian deployment of over 5,000 GNOME desktops in its
public schools.
Comments (1 posted)
KDE Software Announcements
KDE Software Announcements
The following new KDE software has been announced this week:
You can find more new KDE software releases at
kde-apps.org.
Comments (none posted)
X11R6.9/X11R7 Release Candidate 3 ready for testing
Release Candidate 3 of X11R6.9/X11R7 is available for testing.
"
We are pleased to announce the availability of the third full Release
Candidate (RC3) for the upcoming X.Org Foundation release of X11R6.9 and
X11R7. RC3 includes many bug fixes and updates. We have tagged both
the monolithic and modular trees and have prepared tarballs for you to
test."
Full Story (comments: 1)
Electronics
XCircuit 3.5.1 released
Development version
3.5.1 of
XCircuit,
an electronic schematic drawing package, is out.
The project now has stable (distribution) and development branches,
a number of new features are included in this release.
Comments (none posted)
Financial Applications
Advanced Stock Tracking System 0.1.5 released
Version 0.1.5 of AST, the
Advanced Stock Tracking System,
is available.
"
Advanced Stock Tracking System (AST) is a web-based application for keeping track of stocks. It features a portfolio with dividend tracking, worksheet to keep track of prospects, a stock comparison utility, a search engine for the stock market and an alert engine to email you about key events in your securities."
Comments (none posted)
GUI Packages
Flightdeck-UI Library re-released under the LGPL
The Flightdeck-UI Tkinter library is now available under the
Lesser General Public License (LGPL).
"
The goal of the Flightdeck-UI project is to apply ideas from aircraft
instrumentation design to general purpose user interfaces."
Full Story (comments: none)
Interoperability
Wine Weekly Newsletter
Issue #300
of the Wine Weekly Newsletter is out with the latest Wine project news.
Topics include: News: Nothing To See Here.. Move Along, wine.git,
Direct3D & WGL, Linking libGL.so, Debugging Critical Section Lockups,
Installing the Mozilla ActiveX Control, MSVCRT Clashes With LibC, and
Quake 2 Evolved & Winelib.
Comments (none posted)
Music Applications
Amuc version 1.2 released
Version 1.2 of Amuc, the Amsterdam Music Composer, is out.
"
New in this version are the mono-synthesizers."
A new demo song is also available.
Full Story (comments: none)
Office Applications
Diction 1.09 Released
Stable version 1.09 of Diction, an English and German language tool,
is available.
"
This program includes both 'diction' and 'style'. 'Diction' identifies wordy and commonly misused phrases; 'style' analyzes surface characteristics of a document, including sentence length and other readability measures."
Comments (none posted)
Office Suites
OpenOffice.org Newsletter
The November, 2005 edition of the OpenOffice.org Newsletter has been
published. Take a look for the latest OpenOffice.org news, announcements
and more .
Full Story (comments: none)
Miscellaneous
Improvements in Nautilus search
GNOME hacker Alexander Larsson has posted
a look at search-enabled Nautilus, complete with a large set of screenshots. Quite a few new capabilities ("smart folders" and such) have been added. This may be a useful development for people (or distributors) who do not want to work with Beagle. (Seen on
FootNotes).
Comments (2 posted)
Nomad PIM preview build p20051130a released (SourceForge)
Preview build p20051130a of Nomad PIM
is out with bug fixes and new capabilities.
"
Nomad PIM is a personal information manager. It allows you to keep track of
your notes, schedule, contacts and money and to write a diary. In many
places, only text input is supported by now, but it is planned to add more
structure step by step in the future."
Comments (none posted)
OmegaT 1.6.RC4 released (SourceForge)
the Fourth Candidate Release of OmegaT 1.6,
a Java-based translation memory application,
has been announced.
"
RC4 is RC3 + a few bugfixes, the most important being two fixes in handling HTML files. Now OmegaT does not skip initial formatting tags (like, e.g., in "bold here") and respects the structure of HTML in output."
Comments (none posted)
Languages and Tools
BASIC
FreeBASIC v0.15b released (SourceForge)
Version 0.15b of FreeBASIC
has been released.
"
FreeBASIC is an open-source, free, 32-bit compiler, with the syntax the most compatible possible with MS-QuickBASIC (including the GFX statements), but that adds new features such as pointers, unsigned data types, inline-assembly, a pre-processor and many others.
New in this release: Unicode strings, OPEN for devices, complete Windows API headers, besides many bug fixes. Read the changelog for more details."
Comments (none posted)
Java
PMD v3.4 released (SourceForge)
Version 3.4 of PMD, a Java source code analyzer,
is out.
"
It features thirteen new rules, an entirely new "migrating"
ruleset for helping to migrate from one JDK version to another, new
facilities for suppressing warnings with annotations, and lots of bug fixes
and performance improvements."
Comments (none posted)
JSP
Tuning AJAX (O'Reilly)
Dave Johnson
discusses AJAX performance tuning on O'Reilly.
"
Unless you live under a rock, you've heard about and likely even used AJAX. Asynchronous JavaScript and XML is becoming an increasingly pervasive deployment methodology, which necessitates that people start to both understand how it works and actually consider it more seriously as an enterprise-level development tool. To that end, I will try to illustrate one method of benchmarking your AJAX applications as well as point out some of the major performance pitfalls I have encountered while developing AJAX components and applications."
Comments (none posted)
Lisp
CMUCL 19c released
Release 19c of CMUCL (CMU Common Lisp) is out.
"
This version adds the
possibility of saving cross reference information to fasl files, adds
annotation support to the pretty printer, improves ANSI compliance,
provides an improved build procedure, and more."
Full Story (comments: none)
GNU CLISP 2.36 released
Version 2.36 of GNU CLISP, a Common Lisp implementation, is available.
"
This version includes
new configuration options, adds some functions and macros, improves
FFI support and documentation lookup, adds the new charset BASE64,
provides improved command line management, implements more CLX
functionality, has better ANSI compliance, and more."
Full Story (comments: none)
ML
MLton 20051202 Released
Version 20051202 of MLton, an optimizing compiler for
the Standard ML language, is out.
"
MLton is now under the
BSD license, not the GPL. There is substantially improved
documentation, based on the MLton wiki. We have added new platforms:
x86/MinGW and HPPA/Linux. There are improvements to the FFI, ML Basis
annotations, and new libraries: the ckit and SML/NJ library."
Full Story (comments: none)
Python
Dr. Dobb's Python-URL!
The December 2, 2005 edition of Dr. Dobb's Python-URL! is online
with the latest Python article links.
Full Story (comments: none)
Dr. Dobb's Python-URL!
The December 7, 2005 edition of Dr. Dobb's Python-URL!
is online with a new collection of Python articles.
Full Story (comments: none)
Ruby
Ruby Weekly News
The December 4th, 2005 edition of the
Ruby Weekly News looks at the latest discussions
from the ruby-talk mailing list.
Comments (none posted)
Tcl/Tk
Dr. Dobb's Tcl-URL!
The November 30, 2005 edition of Dr. Dobb's Tcl-URL! is online.
Take a look for new Tcl/Tk articles and resources.
Full Story (comments: none)
Editors
TinyMCE 2.0 Final released (SourceForge)
Version 2.0 final of TinyMCE, a platform independent web based
Javascript HTML WYSIWYG editor,
is available.
"
TinyMCE 2.0 is now released as stable this means that we havn't
found any more critical bugs and issues so we recommend that you replace
your existing 1.xx versions with 2.0 version."
Comments (none posted)
Version Control
GIT 0.99.9l aka 1.0rc4 Released
Version 0.99.91/1.0 rc 4 of Git is out.
"
This is mostly fixes, with some improvements. As I said on the
git list earlier, no more major feature/semantics changes after
this is expected until 1.0."
Full Story (comments: none)
Miscellaneous
Signals as a Linux debugging tool (IBM developerWorks)
Madhavan Srinivasan
uses signals for debugging purposes.
"
By focusing on the analysis of data captured using signal handlers, you can speed up the most time-consuming part of debugging: finding the bug. This article gives a background on Linux® signals with examples specifically tested on PPC Linux, then goes on to show how to design your handlers to output information that lets you quickly home in on failed portions of code."
Comments (none posted)
Page editor: Forrest Cook
Next page: Linux in the news>>