February 9, 2005
This article was contributed by Frank Pohlmann
GRASS GIS
is one of the most
under-hyped open-source applications currently in existence.
GRASS stands for "Geographic Resources Analysis Support System"; it represents the most complete Geographical Information System available
under the GPL.
The history of GRASS
GRASS has been in existence since 1982, according to the
history document.
It started life as a so-called environmental planning and land management system, its function was to enable the US Army Corps of Engineers'
Construction Engineering Research Laboratory (USA-CERL) to manage the Pentagon's considerable landholdings.
GRASS originated on a VAX Unix environment and was ported to various Unix flavors during the 1980s. The project leader Bill Goran and the software architect L. Van Warren initially assumed that other commercial GIS systems would be easily accessible, and that they would be able to adapt
such systems to the Pentagon's needs.
After some analysis, they realized that no existing GIS system would
meet the Pentagon's standards; they decided to create GRASS mostly from scratch, although existing Unix libraries were used wherever possible.
GRASS was released as public domain software in 1985.
The project
received feedback from other development groups working at federal
and institutions and universities.
In 1996, version 5 was in the making, but USA-CERL decided to withdraw support from the public domain version of GRASS, and collaborated with several commercial entities to create the non-free GRASSLANDS and other derivatives. In 1999 GRASS was released under the GPL while under the
leadership of the University of Baylor and Markus Neteler, then at the University of Hanover. Various ports to a number of Linux flavors and non-Intel architectures have come into existence since.
These days the stable 5.4 version is available for Linux, Mac OS X,
and Windows NT/2000/XP under
Cygwin.
It is possible to run GRASS on a number of Unix systems, but one would be
well advised to compile from source, since, despite assurances to the
contrary, binaries are not always available. The same advice applies to
version
6.0.0, so far there are only beta and development versions available.
The GRASS Architecture
GRASS is currently undergoing a major version change, from 5.4 to 6.0.0.
GRASS consists of more than 350 programs and scripts and most can be accessed from the command line. The project is almost completely
GUI-accessible now.
It has been running with a Tcl/Tk interface since version 5.4, that
was initially coded by Jacques Bouchard.
The Tcl/Tk version of GRASS is known as tcltkgrass,
although from version 6.0.0 and forward, the interface has been
changed considerably.
The reliance on Tcl/Tk is set to grow less and less pronounced.
All modules included in the GRASS tool chain that require user interaction use a new display manager to create GUIs every time they are instantiated.
The internationalization framework for GRASS is has been fully implemented,
and character sets which are part of the Unicode standard can be used to implement new localization projects.
The display routines now support the multi-byte
character sets used in East Asian languages.
GRASS is huge, there are currently more than 1 million lines of C code.
Binary versions weigh in between 30 and 150 MB, depending on the options enabled at compile time and the operating system target. C++ support is being added, although it is not clear to what extent future modules should be written in C++.
All GIS tool chains rely on databases to handle their spatial data. Internally, GRASS relies on dBase, although interfaces to external databases engines like MySQL, PostgreSQL and ODBC-based database engines exist, and are well supported.
Anyone writing new modules for GRASS database access will not have to pay attention to the specifics of the database engine.
For users and programmers, a basic Unix-type sub-directory structure with pre-configured directory names has to be created first, since it is hard coded into the GRASS installation and configuration files.
Multiple GRASS
sessions can now be started from the same installation.
This is particularly useful for instances where users might want to
work on different versions of the same dataset.
It is even possible to start 5.4 sessions and 6.0 sessions concurrently without having to worry about version conflicts.
GRASS supports both raster-based and vector-based data management; but unlike many other GIS systems, it supports a large variety of image processing modules, the creation of maps using the
PROJ.4
cartographic projections library, and data visualization.
Grass can process 2D and 3D raster data in 40 different formats including the bmp and jpeg formats as well as the less common JDEM format.
The GDAL library supports many formats, although many of the more obscure formats can only be read, not created.
3D raster (voxel) volumes have been folded into GRASS quite recently with the 5.7 development version.
Routines from the scriptable
NVIZ
package make it easy to visualize the same 3D raster data, since it includes new 3D display routines.
Vector data handling has been the subject of a complete rewrite. GRASS 6.0.0 is now able to handle topological vector data fully, and the vector geometry engine uses a data format that can live on 32 and 64-bit processors.
Internal data structures have been rewritten in such a way that
vector data can be accessed much more quickly.
Vector data include non-spatial attributes that are best processed by traditional SQL-driven database management systems, a factor in the decision to include external database support.
GRASS can also handle
PostGIS geographical objects stored on PostgreSQL. PostGIS objects are accessed as a vector file format. They are made available through the OGR Simple Features Library, which is a part of the GDAL package.
GRASS Applications
GRASS has been used in many contexts, from academic environments to soil erosion modeling and social science simulations.
Vector network analysis is a well-established technique that
adds another data modeling layer to the range of information
evaluation tools already available.
Statistical routines are accessible via the R interface, this makes it possible to produce geostatistics.
The number of interfaces, scripting routines, visualization packages
as well as its stability and scalability make GRASS a truly unique
addition to the stable of Linux applications.
GRASS has also become the focus around which several Linux distributions
have been built, including
GIS Knoppix and
Quantian.
Enjoy!
Comments (5 posted)
System Applications
Audio Projects
The
latest changes from the
Planet CCRMA audio utility packaging project include the addition of
Qjackctl 0.2.15-1, the 2.6.10 kernel for Fedora Core 2 and 3,
ZynAddSubFX 2.1.1-2, and Pd externals for Fedora Core 3.
Comments (none posted)
Database Software
A security release of the PostgreSQL database
has been announced.
"
In order to address a potential security hole recently identified with the "LOAD" option, the PostgreSQL Global Development Group is announcing the release of new versions of PostgreSQL going back to the 7.2.x version."
Comments (none posted)
The February 4 2005 edition of the PostgreSQL Weekly News
is online with the week's summary of PostgreSQL database information.
Full Story (comments: none)
Sunil Patil
looks at SQLMaps on O'Reilly.
"
Hibernate is great--if your DBA will let you run generated database queries
on his or her system. Sometimes you need to keep the option of
hand-optimized queries open. Sunil Patil introduces SQLMaps, a framework
that allows you to do just that."
Comments (1 posted)
Version 1.1.10 of
MySQL-python, the Python interface to the MySQL database, is out.
"
MySQL-3.22 through 4.1 and Python-2.3 through 2.4 are currently
supported."
Comments (none posted)
Peter Gulutzan
explores MySQL triggers on O'Reilly.
"
MySQL 5.0, the alpha version of MySQL that's available for testing new features, has trigger support. This is no surprise, as triggers were promised in the MySQL Development Roadmap, but it's a novel experience to work with one of the big "MySQL can't do that" features and watch MySQL doing it."
Comments (none posted)
Interoperability
Stable version 3.0.11 of Samba is available for download.
"
This is the latest stable release of Samba. This is the
version that production Samba servers should run for all
current bug-fixes."
Full Story (comments: none)
Networking Tools
Version 1.4 of Nagios Plugins, an open source monitoring system,
is available.
"
This release includes major enhancements. With the growth of internet enabled devices, the IPv4 addressing range will be used up soon. Jeremy T Bouse has integrated IPv6 support into our networking utilities, so you can now monitor your next generation network."
Comments (none posted)
Peer to Peer
WASTE
"
is an anonymous, secure, and encrypted collaboration tool which allows users to both share ideas through the chat interface and share data through the download system."
Version 1.5 beta 3 of WASTE
has been announced.
"
This new release features a brand new installer, a mini version for those with a low bandwidth connection (excludes documentation), and the first release of WASTE in other languages."
Comments (1 posted)
Web Site Development
Version 1.4.3 of ATutor, a Web-based Learning Content Management
System (LCMS),
is available.
"
Current ATutor users are encouraged to upgrade their systems to
take advantage of the many new features that have been added to this release."
Comments (none posted)
Version 0.3.5 of UnCommon Web, a Common Lisp-based web application development framework, is out.
"
This version features several changes related to components and
component rendering, the TAL/YACLML template and formatting languages,
backends, documentation, and more."
Full Story (comments: none)
Desktop Applications
Accessibility
John E. Simpson
applies XML
to captioning on O'Reilly. "
It's taken a while for movie producers and distributors to catch up to the closed-captioning capabilities of the hardware, but they're almost there. Yet in one important area, content is still all too often obscured from my earnest attention: computerized multimedia. From games to Flash and Shockwave animations to Quicktime and Windows Media clips, what's going on on my PC is frequently just flat-out lost on me.
Computers... text... hmmm. You'd think XML might come to the rescue here. And so it does."
Comments (none posted)
Business Applications
Version 2.5.2 of Compiere, an ERP + CRM business application,
has been announced.
"
Compiere to date, has been available on Oracle. We are pleased to announce that it is now also available on Sybase. Several independent open source projects have ported Compiere to different databases."
Comments (none posted)
Data Visualization
Version 1.59 of
Gmsh,
a three-dimensional finite element mesh generator,
has been announced.
"
In addition to the usual bug fixes, Gmsh 1.59 adds support for discrete surfaces, introduces several new default plugins, and improves the solver interface."
Comments (none posted)
Desktop Environments
Equinox Desktop Environment is a new lightweight desktop
system that is based on
FLTK,
the Fast, Light ToolKit.
Equinox Desktop Environment (shortly EDE) is small desktop environment, builted to be simple and fast.
It is based on modified FLTK library (called extended FLTK or just eFLTK). Comparing to other desktop environments, EDE is
much faster and smaller in memory space (EDE's window manager use less memory than xterm). By the way, it is for now, little bit buggy :(
EDE Version 1.0.2
was announced
this week, it promises stability improvements and new features.
Comments (none posted)
GnomeDesktop has
an announcement
for the new GNOME 2.10 Beta 1 Public Testing Release.
"
Also known as 2.9.90, GNOME 2.10 Beta 1 is the first pre-release intended
for wide public scrutiny before the final release in March. It is packed
full of tasty GNOME goodness, so if you're itching to find out what we've
been doing, and can't wait to finish building it, take a look at Davyd's
Sneak Peek
this release".
Comments (none posted)
The following new GNOME software has been announced in the last week:
Comments (none posted)
The following new KDE software has been announced in the last week:
Comments (none posted)
The February 4, 2005 edition of the
KDE CVS-Digest is online with the following content summary:
"
Digikam does black and white tonal conversion.
KPDF implements history and
KTTSD (screen reader) support. KMail adds graphical emoticons.
KNotes implements read-only support. Konqueror shows document title and
favicon in location bar autocomplete. amaroK supports the Akode engine"
Comments (none posted)
KDE.News
continues its interview with the Kontact and Kolab developers. "
KMail is the best Open Source e-mail program existing today and with KOrganizer and KAddressBook we already had two other important parts of a PIM solution. So why should we start from scratch? With KParts, XML-GUI and DCOP, KDE offers an incredibly cool framework which made it quite easy to integrate these applications without throwing away existing and well tested code, so it was clearly the way to go."
Comments (none posted)
Electronics
The latest new electronics applications on
Open Collector include QOscC 0.1.6 (software oscilloscope), SC2V 0.3 (SystemC to Verilog synthesizable subset translator), and Confluence 0.10.2 (declarative functional programming language for the design and verification of synchronous reactive systems).
Comments (none posted)
Version 3.3.8 of
XCircuit,
an electronic schematic drawing package, is available.
This version features fixes for several bugs.
Comments (none posted)
Financial Applications
Version 0.12 of Eclipse Trader
is out.
"
Eclipse Trader is a set of plugins for the Eclipse RCP (Rich Client Platform)
dedicated to the building of an online stock trading system. This release
adds a simple alerts system that may be used to receive notifications when a
stock item reaches a predefined price level, and a new plugin for the Directa
Trading (Italy) service. This plugin provides realtime data and trading
feature for Directa customers."
Comments (none posted)
Games
The WorldForge game project
has announced version 0.2.0 of Ember.
"
Ember is a 3d client for the WorldForge project. It uses the Ogre 3d graphics library for presentation and CEGUI for it's GUI system. This is the first release of Ember since it's fork from the Dime codebase. The focus has been on getting a working client out of the door. Games such as Mason are fully playable."
Comments (none posted)
The
PyGame site has been mysteriously
quiet for a few months, now there's an explanation:
"
As you might have noticed, Pete has been MIA recently. A group of Pygame users (Bob Ippolito, Rene "illume" Dudfield, Joe "piman" Wreschnig, and others in #pygame) are trying to organize the 1.7 release in his absence. If you know of any bugs in Pygame 1.6.2 that haven't been fixed in CVS (if you don't know and don't know how to check, assume they aren't), please stop by #pygame on irc.freenode.net".
Comments (none posted)
Graphics
Version 6.05 beta 2 of G3D, a cross-platform 3D engine for games and other
applications,
has been announced.
"
The 6.05 beta 2 release includes new support for the 3DS file format, 2D and video rendering, optional wxWidgets integration, workarounds for bugs in old graphics cards, and major performance improvements in the networking API. It is also the first release to support the new g++ 3.4 on Linux and has a Win32 installer for easy setup."
Comments (none posted)
Instant Messaging
Paul Mutton
applies a speech synthesizer to IRC on O'Reilly.
"
This article will show you how to create a multi-platform IRC bot (an automated client) that uses the FreeTTS Java speech synthesizer library to convert IRC messages into audible speech."
Comments (none posted)
Interoperability
The February 4, 2005 edition of
Wine Traffic is online, take a look for the latest developments in
the Wine project.
Comments (none posted)
Music Applications
Version 0.1.0 of blepvco is out.
"
blepvco is a LADSPA plugin library containing three anti-aliased,
minBLEP-based, hard-sync-capable oscillator plugins. The
oscillators are intended to be used with modular synthesis systems,
such as Alsa Modular Synth (a couple example AMS patches are
included)."
Full Story (comments: none)
Science
Stable version 12.0 of
Mathomatic
is out.
"
Mathomatic is a highly portable, general purpose CAS (Computer Algebra System) written entirely in C. It is totally free software (GNU LGPL license). This is a console mode application that compiles and runs under any operating system with a C compiler. It has been under development since 1986 and now stands at 15,000 lines of code."
Comments (none posted)
Web Browsers
MozillaZine
covers the latest Mozilla Development Roadmap announcement.
"
Following on from the recent Mozilla Firefox Roadmap update, the main Mozilla Development Roadmap has also been revised. The big news is that there will be a second Mozilla 1.8 Beta release in March."
Comments (none posted)
The minutes from the January 24, 2005 mozilla.org staff meeting
are online. The
MozillaZine summary says:
"
Issues discussed include Mozilla 1.8 Alpha 6, Mozilla Firefox
1.0.1, Mozilla Firefox 1.1, deploying Hendrix and the broken website tool."
Comments (none posted)
MozillaZine has
announced
the February 7, 2005 edition of the Mozilla
independent status reports.
"
The latest set of independent status reports includes updates from Journal,
Link Visitor, Spurlbar, biobar, cuneAform, Figaro, Research Buddy, Abacus
MathML Editor, IE View, ConQuery, Launchy, viewbgplus, Searchsidebar and
Flashblock."
Comments (none posted)
MozillaZine
reports
on the availability of version 1.0 of the XForms plugin for Mozilla and
Firefox.
"
The Mozilla Foundation today released a beta version of
its XForms plugin for Gecko-based browsers. XForms 1.0 is a W3C
recommendation that allows web page authors to take advantage of structured
data and client-side validation when designing forms. XForms is designed to
be embedded in XML documents, such as XHTML 1.0. Mozilla XForms support has
been developed over the last several months by IBM, Novell, and independent
contributors."
Comments (none posted)
Miscellaneous
MozillaZine
carries the announcement of the first official release of the Sunbird calendaring program from the Mozilla Project. For the curious,
screenshots can be found on the Sunbird page.
Comments (9 posted)
Languages and Tools
Caml
The February 8, 2005 edition of the Caml Weekly News is online
with the week's Caml language news.
Full Story (comments: none)
Java
Glen Pepicelli
manipulates bits with Java in an O'Reilly article.
"
Flipping bits on and off is the lowest level of computing, and most Java
developers are totally isolated from it. But maybe they shouldn't be. In
this article, Glen Pepicelli introduces the idea of bitsets--ints and longs
whose bitwise representation are the data you're interested in--and how they
can be used with mathematical and logical operators to write faster code."
Comments (none posted)
Robert Barta and Oliver Leimig
introduceTMAPI on O'Reilly.
"
There are several software packages for Java developers when they need to develop applications using XML Topic Maps. There are some proprietary software vendors and also open source packages like TM4j, tinyTIM, and a few others.
In the Java tradition to standardize interfaces, the TMAPI project has proposed a set of Java interfaces which particular Topic Map implementations may choose to adhere to. The obvious advantage for the application developer is to use only that single set of interfaces and to choose a particular implementation on other merits."
Comments (none posted)
Mik Kersten
discusses tools for Aspect-oriented programming on IBM developerWorks.
"
AOP is a technology whose time has come, but how do you choose the right tool for your projects? In this first article in the new AOP@Work series, aspect-oriented programming expert Mik Kersten compares the four leading AOP tools (AspectJ, AspectWerkz, JBoss AOP, and Spring AOP) to help you decide which one is for you. In Part 1 of this two-part discussion, the author focuses on the tools' language mechanisms and the trade-offs imposed by the different approaches."
Part two of the series is also available.
Comments (none posted)
Dennis M. Sosnoski
writes about the Hansel and Gretel code coverage tools
on IBM developerWorks.
"
Unit tests provide a great technique for making sure that code performs to specifications. But the quality of unit tests is up to the test writer, and the results from unit tests are only as good as the quality of the tests. How can you make sure your unit tests deliver the quality you need? In the first article of this new series dedicated to classworking tools, regular developerWorks contributor Dennis Sosnoski discusses how code coverage tools provide one important quality check for your tests."
Comments (none posted)
Lisp
A series of web log entries about parallel computing in Lisp
are available.
"
Bill Clementson has written a new weblog entry in a series about
parallel computing in Lisp. The latest entry, posted on 25 January
2005, deals with the feedback he got on the previous ones.
Bill started posting weblog entries in this series in April 2004.
They discuss the various approaches, dialects and tools for parallel
computing in Lisp."
Full Story (comments: none)
Perl
The January 19-31, 2005 edition of
This Fortnight in Perl 6 is online with another collection of Perl 6
topics.
Comments (none posted)
Vladi Belperchinov-Shabanski
discusses the Remote Procedure Call under Perl.
"
In the Perl world there are several modules that offer different kinds of RPC, including RPC::Simple, RPC::XML, DCE::RPC, and more.
In this article I'll explain how to use Perl-specific features to develop a compact RPC implementation that I will name Perl-centric Remote Call (PerlRC). As the name suggests, it will run only with Perl clients and servers."
Comments (none posted)
Python
Python 2.3.5 - a bugfix release - is now available. Included therein is
the fix for the
SimpleXMLRPCServer
vulnerability. This is the last planned update for Python 2.3.
Full Story (comments: none)
The python-dev Summary for December 16-31, 2004 is out with another
summary of traffic from the python-dev mailing list.
Full Story (comments: none)
The python-dev Summary for January 1-15, 2005 is out with another
summary of activity on the python-dev mailing list.
Full Story (comments: none)
The February 9, 2005 edition of Dr. Dobb's Python-URL! is online
with the latest Python language articles and resources.
Full Story (comments: none)
Jason Diamond continues his O'Reilly series on Test-Driven Development
in Python with
part two.
"
The goal of test-driven development is not to produce tests; they're merely a
helpful by-product. The real goal is to produce elegant, working code.
Jason Diamond demonstrates how test-driven development can improve the design
of code."
Comments (none posted)
Ruby
The February 6, 2005 edition of the
Ruby Weekly News is available with the latest news and discussion from the
ruby-talk mailing list.
Comments (none posted)
Tcl/Tk
The February 8, 2005 edition of Dr. Dobb's Tcl-URL!
has been published. Take a look for the latest Tcl/Tk news.
Full Story (comments: none)
XML
Bob DuCharme
discusses the XPath 2.0 data model on O'Reilly.
"
As XSLT 2.0 and its companion specification XQuery 1.0 approach Recommendation status, it's time to step back and look at a more fundamental difference between 2.0 and 1.0: the underlying data models. A better understanding of the differences gives you a better understanding of what you can get out of XSLT 2.0 besides a wider selection of function calls."
Comments (none posted)
Jack Herrington
shows how to Generate SQL with XSLT on IBM developerWorks.
"
Learn to use the cutting-edge features of XSLT 2.0 and generate PHP code from an abstract data model. In Part 1 of this two-part series, Jack Herrington uses a robust multilevel transform technique to show you how to take a simple model of a target database and generate the SQL for the database server."
Comments (none posted)
Version Control
Version 4.20 of the Aegis version control system is available. See the
change log
file for details.
Full Story (comments: none)
Page editor: Forrest Cook
Next page: Linux in the news>>