[129] in linux-announce channel archive
Karma v1.2 released
daemon@ATHENA.MIT.EDU (Lars Wirzenius)
Sat Jan 28 14:04:49 1995
Date: Sat, 28 Jan 1995 19:35:11 +0200
From: Lars Wirzenius <wirzeniu@cc.helsinki.fi>
To: linux-activists@niksula.hut.fi, linux-announce@vger.rutgers.edu
X-Mn-Key: announce
From: rgooch@atnf.csiro.au (Richard Gooch)
Subject: Karma v1.2 released
Newsgroups: comp.os.linux.announce
Keywords: Karma, user interface, inter process communication, library
Organization: ?
Approved: linux-announce@tc.cornell.edu (Lars Wirzenius)
Followup-to: comp.os.linux.misc
Version 1.2 of the Karma library is now available for ftp. The Karma
library is a general purpose programmers toolkit (see below).
Karma is available on anonymous ftp from: ftp.atnf.csiro.au
under the pub/software/karma directory.
Binary distributions for:
SunSparc, SunOS 4.1.3
SunSparc, Solaris 2.3
i386, Linux 1.1.64
Convex C2, ConvexOS 10.1.2
mips1, Ultrix V4.3 (Rev. 44)
alpha, OSF/1 V2.0 (Rev. 240)
hp9000, HP-UX A.09.01
mips1, IRIX 5.2
rs6000, AIX 3.2
are available in addition to the source distribution.
Notable changes since 1.1:
1) Creation of the <overlay_> package. This provides for display and
communication of graphic overlays.
2) Filter stacks may be "pushed" onto Channel objects, allowing for
transparent filtering operations (such as encryption and compression)
to be applied to all I/O.
3) Security/encryption/authentication support added. A simple
configuration file allows the user to configure PGP authentication and
IDEA encryption for all connections.
4) PostScript support allows a refresh event to be generated on a
PostScriptPage object: no special code for generating PostScript
graphics primitives is needed.
5) Support for 24 bit (TrueColour) images and displays
added. TrueColour images are automatically compressed when displaying
on a PseudoColour display.
6) More standard colourmap functions added.
7) Multi-threading support added. Presents a unified interface on all
platforms (including traditional single-threaded platforms). Benefits
currently only available under Solaris 2.
8) Many new widgets added. The most powerful is the ImageDisplay
widget which is practically an entire image/movie display tool in
itself.
9) Various extra features, bugfixes, etc.
See the release notes for more details. Below are README extracts:
===============================================================================
Karma
A powerful programmers toolkit
Karma is a toolkit for interprocess communications,
authentication, encryption, graphics display, user interface and
manipulating the Karma network data structure. It contains KarmaLib
(the structured libraries and API) and a large number of modules
(applications) to perform many standard tasks.
Please mail any bug reports to: karma-bugs@atnf.csiro.au
No warranty, express or implied should be inferred by this mailing address.
If you want to be added to the mailing list (to find out what's changed
with Karma), please mail the request to: karma-request@atnf.csiro.au
This mailing list is VERY important: as bugs are fixed and enhancements made
to Karma, this is your only way of finding out about these changes.
If you have any suggestions for Karma, please mail them to:
karma-suggestions@atnf.csiro.au
Karma is available on anonymous ftp from: ftp.atnf.csiro.au
under the pub/software/karma directory. Both the source code and binary
distributions are kept here. The source code is available free of charge.
The Karma World Wide Web page is: http://www.atnf.csiro.au/karma/
This provides online access to the documentation and ftp site.
You are urged to get the binary distribution if possible, as this will save
you the effort of building from source.
When connecting to the ftp server, check the modification dates on the source
distribution and the binary distribution. If the source distribution
is much newer than the binary distribution you want, this means that
the binary distribution is out of date. Please send an Email request to
karma-suggestions@atnf.csiro.au for a rebuilt version to be made available.
I don't have local access to many machines, so I don't rebuild automatically
for every platform.
Karma modules use the GNU General Public License, version 2 or later.
KarmaLib uses the GNU Library General Public License, version 2 or later.
===============================================================================
KarmaLib
A Structured Library for Signal and Image Processing
Karma is a package for signal and image processing applications. It
contains KarmaLib (the structured library and API) and a large number of
modules (applications) to perform many standard tasks.
KarmaLib provides routines to simplify the interface to the operating system.
This includes process management and a powerful connection package. Using a
Connection Management tool, the applications developer can launch and
connect a number of modules (processes) on a network with ease. The
communications support in KarmaLib forms one of the major components to the
library. Full authentication and encyption support is included, making the
development of secure, network-aware applications trivial.
It also provides a highly extensible, recursive, heirarchical data structure
with extensive library support. This data structure may be accessed in a very
portable, generic fashion by applications and may also be accessed directly
when speed is critical. By supplying powerful library routines, data
structures may be accessed in an abstract way, removing the need for the
applications programmer to write code to deal with complex data structures
while also allowing users to pass increasingly complex data structures to
modules without the need for recompiliation.
The applications programmer is left to concentrate on processing simple
sub-structures (typically 1, 2 or 3 dimensional arrays) without incurring
any processing overhead. Tiling of multi dimensional arrays is supported
transparently, and, using special indexing techniques (also transparent to
the application), incur no performance overhead.
The library also supplies routines to allow the programmer to transfer data
structures as objects to and from named objects (disc files and network
connections) without requiring the programmer to pay any attention to data
formats, byte swapping machines, word sizes, etc. All data transfers are
highly optimised to take advantage of the features of any particular platform
and operating system.
In addition, data structures may be automatically memory mapped from disc
into the process address space, yielding enormous peformance increases when
reading large data structures from disc, and also saving swap space.
Another major component of KarmaLib is the display support. The display
system both provides an abstract interface to the underlying graphics system
(ie. the X window system), and also provides much higher level functionality
than many graphics libraries. As well as supporting simple geometric
primitives and text display, a powerful and flexible image display system is
included. This allows the direct mapping of application data structures
(ie. 2-D and 3-D arrays) to display windows (canvases). These images may be
animated at high speed (such as in a movie tool). The complex machinery
required to handle window resize and refresh events, as well as other events
(ie. mouse events) is built into the display system.
Other facilities such as graphics overlay lists (which are easily networked
and shared amongst processes), image editing (a simple painting mechanism,
also newtork shareable) and axes display are also supplied.
KarmaLib is structured into many "packages", which are collections of
routines. All the routines in each package have a designated prefix.
For example, the data structure manipulation routines all have the prefix:
ds_
The include file needed for each package is based on the common prefix.
For example: karma_ds.h
The packages are also layered. Level 1 packages are the lowest level, and
depend directly on the operating system. Higher level packages are
dependent on one or more packages at lower levels. A package at one level is
not dependent on any other package at the same or higher level.
The number of letters in a package's prefix indicates the level of the
package. So, for example, the data structure manipulation routines are a
level 2 package.
In many cases, certain functionality is provided in packages at various
levels. With few exceptions, the highest level packages are recommended for
use, as these provide the greatest flexibility, ease of use and are also more
highly optimised.
--
Send submissions for comp.os.linux.announce to: linux-announce@news.ornl.gov
PLEASE remember Keywords: and a short description of the software.