Nana provides improved support for assertion checking and logging in C, C++
using GDB. In particular it provides:
o Operations can be implemented directly in C or by generating
debugger commands which do the checking and logging only if the
application is run under the debugger. The debugger based calls
require are very space efficient (0 or 1 bytes per call).
o Support for checking real time constraints.
o Support for assertion (invariant checking) including:
+ Space and time efficient (at least versus <assert.h>)
For example: assert(i>=0) uses 53 bytes on a i386 vs
an optimised nana call which uses 10 bytes per call.
+ Checking can be turned on or off at compile or run time.
+ The action taken when an error is detected can be modified
on a global and per/call basis.
o Support for logging (printf style debugging) including:
+ Logging can be turned on and off at compile or run time.
+ Logging to files, processes or circular buffers in memory
with optional time stamping.
o Support for the quantifiers of predicate calculus (forall, exists).
o Support for before and after state saving and checking (x, x').
CImg stands for Cool Image: it is simple to use and efficient.
. The CImg Library is a free C++ toolkit providing simple classes and functions
to load, save, process and display images in your own C++ code.
. It is highly portable and fully works on Unix/X11, Windows and MacOS X
operating systems. It should compile on other systems as well (eventually
without display capabilities).
. It consists only of a single header file CImg.h that must be included in
your program source.
. It contains useful image processing algorithms for loading/saving, resizing/
rotating, filtering, object drawing (text, lines, faces, ellipses,..), etc.
. Images are instancied by a class able to represent images up to 4-dimension
wide (from 1-D scalar signals to 3-D volumes of vector-valued pixels), with
template pixel types.
. It depends on a minimal number of libraries: you can compile it with only
standard C libraries. No need for exotic libraries and complex dependencies.
. Additional features appear with the use of GraphicsMagick: install the
GraphicsMagick package to be able to load and save compressed image formats
(GIF,BMP,TIF,JPG,PNG,...).
. Additional features appear with the use of LAPACK: link your code with the
lapack library to be able to compute eigenvalues or eigenvectors of big
matrices.
Scheme 48 is an implementation of the Scheme programming language as
described in the Revised^5 Report on the Algorithmic Language Scheme.
It is based on a compiler and interpreter for a virtual Scheme
machine. The name derives from our desire to have an implementation
that is simple and lucid enough that it looks as if it were written in
just 48 hours. We don't claim to have reached that stage yet; much
more simplification is necessary.
Scheme 48 is an implementation of the Scheme programming language as described
in the Revised5 Report on the Algorithmic Language Scheme [6]. It is based on
a compiler and interpreter for a virtual Scheme machine. Scheme 48 tries to be
faithful to the Revised5 Scheme Report, providing neither more nor less in the
initial user environment. (This is not to say that more isn't available in
other environments; see below.)
Scheme 48 is under continual development. Please report bugs, especially in
the VM, especially core dumps, to scheme-48-bugs@s48.org. Include the version
number x.yy from the "Welcome to Scheme 48 x.yy" greeting message in your bug
report. It is a goal of this project to produce a bullet-proof system; we want
no bugs and, especially, no crashes.
Math::Sequence defines a class for simple mathematic sequences with a
recursive definition such as x_(n+1) = 1 / (x_n + 1). Creation of a
Math::Sequence object is described below in the paragraph about the
constructor.
Math::Sequence uses Math::Symbolic to parse and modify the recursive
sequence definitions. That means you specify the sequence as a string
which is parsed by Math::Symbolic. Alternatively, you can pass the
constructor a Math::Symbolic tree directly.
Because Math::Sequence uses Math::Symbolic for its implementation, all
results will be Math::Symbolic objects which may contain other variables
than the sequence variable itself.
Each Math::Sequence object is an iterator to iterate over the elements of
the sequence starting at the first element (which was specified by the
starting element, the second argument to the new() constructor). It offers
facilities to cache all calculated elements and access any element
directly, though unless the element has been cached in a previous
calculation, this is just a shortcut for repeated use of the iterator.
Math::Series defines a class for simple mathematic series with a recursive
definition such as x_(n+1) = 1 / (x_n + 1). Such a recursive definition is
treated as a sequence whose elements will be added to form a series. You
can refer to the previous sequence element as well as to the current index
in the series. Creation of a Math::Series object is described below in the
paragraph about the constructor.
Math::Series uses Math::Symbolic to parse and modify the recursive
sequence definitions. That means you specify the sequence as a string
which is parsed by Math::Symbolic. Alternatively, you can pass the
constructor a Math::Symbolic tree directly.
Because Math::Series uses Math::Symbolic for its implementation, all
results will be Math::Symbolic objects which may contain other variables
than the sequence variable and the iterator variable.
Each Math::Series object is an iterator to iterate over the elements of
the series starting at the first element (which was specified by the
starting element, the second argument to the new() constructor). It offers
facilities to cache all calculated elements and access any element
directly, though unless the element has been cached in a previous
calculation, this is just a shortcut for repeated use of the iterator.
SNNS (Stuttgart Neural Network Simulator) is a software simulator for neural
networks on Unix workstations developed at the Institute for Parallel and
Distributed High Performance Systems (IPVR) at the University of Stuttgart.
The goal of the SNNS project is to create an efficient and flexible
simulation environment for research on and application of neural nets.
The SNNS simulator consists of two main components:
1) simulator kernel written in C
2) graphical user interface under X
The simulator kernel operates on the internal network data structures of the
neural nets and performs all operations of learning and recall. It can also
be used without the other parts as a C program embedded in custom
applications. It supports arbitrary network topologies and the concept of
sites. SNNS can be extended by the user with user defined activation
functions, output functions, site functions and learning procedures, which
are written as simple C programs and linked to the simulator kernel.
The graphical user interface XGUI (X Graphical User Interface), built on top
of the kernel, gives a 2D and a 3D graphical representation of the neural
networks and controls the kernel during the simulation run. In addition, the
2D user interface has an integrated network editor which can be used to
directly create, manipulate and visualize neural nets in various ways.
XMakemol is a program written for UN*X operating systems in ANSI C using the X,
Xt and Motif libraries. It can be used to view and manipulate atomic and
molecular data given in xyz format.
XMakemol is a mouse-based application and many features can be accessed by
clicking or dragging the mouse on the main window. Additional popup dialogs
offer a number of additional features.
Here is what an XMakemol session might look like. The system is a bucky ball
and the Measure dialog is showing the measurement of bond-lengths, angles and
a torsion angle.
XMakemol can produce output in PostScript (black and white or colour)and in xpm
format (which can be translated to gif format using xpmtoppm and ppmtogif).
XMakemol can also produce a series of xpm files which can be translated into an
animated gif file using the bundled utility xmake_anim.pl (formerly
gmake_anim.pl). The one above is an animation of the "viagra" molecule
(sidenafil).
This is the last version that handles both the 8.x and 9.x install
media formats.
Qjail [ q = quick ] is a 4th generation wrapper for the basic chroot jail
system that includes security and performance enhancements. Plus a new level
of "user friendliness" enhancements dealing with deploying just a few jails or
large jail environments consisting of 100's of jails.
Qjail requires no knowledge of the jail command usage. It uses "nullfs" for
read-only system binaries, sharing one copy of them with all the jails.
Uses "mdconfig" to create sparse image jails. Sparse image jails provide a
method to limit the total disk space a jail can consume, while only occupying
the physical disk space of the sum size of the files in the image jail.
Ability to assign ip address with their network device name,
so aliases are auto created on jail start and auto removed on jail stop.
Ability to create "ZONE"s of identical qjail systems, each with their own
group of jails.
Ability to designate a portion of the jail name as a group prefix so the
command being executed will apply to only those jail names matching that prefix.
Writing RESTful apps is a good thing, but if you're also trying to support web
browsers, you're probably going to need some hackish workarounds. This module
provides one such workaround for your Plack applications.
Specifically, you can also use a header named X-HTTP-Method-Override (as used by
Google for its APIs) override the POST request method. Or you can add a
parameter named x-tunneled-method to your form action's query. Either way, the
overriding works only via POST requests, not GET.
If either of these attributes are available in a POST request, the
REQUEST_METHOD key of the Plack environment hash will be replaced with its
value. This allows your apps to override any HTTP method over POST. If your
application needs to know that such overriding has taken place, the original
method is stored under the plack.original_request_method key in the Plack
environment hash.
The list of methods you can specify are: GET, POST, HEAD, PUT, DELETE, OPTIONS,
TRACE and CONNECT.
A suite of tools for visualising sequence alignments.
Blixem is an interactive browser of pairwise alignments that have
been stacked up in a "master-slave" multiple alignment; it is not
a 'true' multiple alignment but a 'one-to-many' alignment.
Belvu is a multiple sequence alignment viewer and phylogenetic tool.
It has an extensive set of user-configurable modes to color residues
by conservation or by residue type, and some basic alignment editing
capabilities.
Dotter is a graphical dot-matrix program for detailed comparison
of two sequences. Every residue in one sequence is compared to every
residue in the other, with one sequence plotted on the x-axis and
the other on the y-axis.