Diffuse is a graphical tool for merging and comparing text files. Diffuse is
able to compare an arbitrary number of files side-by-side and gives users the
ability to manually adjust line matching and directly edit files. Diffuse can
also retrieve revisions of files from Bazaar, CVS, Darcs, Git, Mercurial,
Monotone, RCS, Subversion, and SVK repositories for comparison and merging.
Some key features of Diffuse:
- ability to compare and merge an arbitrary number of files side-by-side
(n-way merges)
- line matching can be manually corrected by the user
- ability to directly edit files
- syntax highlighting
- Bazaar, CVS, Darcs, Git, Mercurial, Monotone, RCS, Subversion, SVK support
- support for UTF-8 encoded unicode
- unlimited undo
- easy keyboard navigation
Dynamic programming is a simple yet powerful technique for solving optimisation
problems. When the problem at hand can be split in smaller problems, such that
the smaller solutions of an optimal solution are themselves optimal, dynamic
programming can be used to avoid re-calculating solutions to shared sub-
problems.
Simple problems are both easily specified and easily implemented, but for
complex problems translating the specification of the problem into the
implementation of the dynamic programming algorithm becomes tedious and error
prone. The goal of DPROG is to alleviate this by automatically translating the
specification of the problem into an implementation of the solution.
The DPROG language is designed to be close to the ``mathematical'' notation
used for expressing recurrences, thus making it easier to specify the problem.
Using the DPROG compiler, the manual implementation step can be completely
avoided.
Javolution is the Java solution for real-time and embedded systems.
Javolution real-time goals are simple: to make your application
faster and more time predictable!
That being accomplished through:
* High performance and time-deterministic (real-time)
util / lang / text / io / xml base classes.
* Context programming in order to achieve true separation of
concerns (logging, performance, etc).
* A testing framework addressing not only unit tests but also
performance and regression tests as well.
* Straightforward and low-level parallel computing capabilities
with ConcurrentContext.
* Struct and Union base classes for direct interfacing with native
applications (e.g. C/C++).
* World's fastest and first hard real-time XML
marshalling/unmarshalling facility.
* Simple yet flexible configuration management of your application.
JLine is a Java library for handling console input. It is similar in
functionality to BSD editline and GNU readline. People familiar with
the readline/editline capabilities for modern shells (such as bash and
tcsh) will find most of the command editing features of JLine to be
familiar.
JLine is distributed under the BSD license, meaning that you are
completely free to redistribute, modify, or sell it with almost no
restrictions.
API documentation can be found in the apidocs directory.
You can use the jline.ConsoleRunner application to set up the system
input stream and continue on the launch another program. For example,
to use JLine as the input handler for the popular BeanShell console
application, you can run: java jline.ConsoleRunner bsh.Interpreter
Matreshka is an Ada framework to develop information systems. It consists
of five major components: League, XML processor, Web framework, SQL access,
and the Modeling framework.
League:
High level abstraction of localization and internationalization. Also
provides calendrical calculations, regular expressions, and JSON.
XML processor:
Sax reader and writer, supports XML 1.0 and 1.1 as well as namespaces.
It also has an XML catalogs resolver.
Web framework:
Supports FastCGI, SOAP 1.2 and has a WSDL to Ada translator.
SQL access:
Database abstraction of MySQL, Oracle, PostgreSQL, SQLite and Firebird.
Modeling framework:
provides implementation of Meta Object Facility (MOF) written entirely
in Ada. Extension modules assist in the analysis of UML modules and
extensions (MOF, OCL, and UML testing profile) and diagram definition.
The acronym MICO expands to MICO Is CORBA. The intention of this project
is to provide a freely available and fully compliant implementation of
the latest CORBA standard for C++ developers.
Here is some of MICO features:
* Multi-threaded
* Dynamic Invocation Interface (DII) and Dynamic Skeleton Interface (DSI)
* Interface Repository (IR) with graphical Interface Repository browser
* IIOP as native protocol (ORB prepared for multiprotocol support)
* Portable Object Adapter (POA) and Basic Object Adapter (BOA) support
* Objects by Value (OBV)
* CORBA Components (CCM)
* Dynamic Any
* Portable Interceptors (PI)
* Support for secure communication and authentication using SSL
* Support for nested method invocations
* Any offers an interface for inserting and extracting constructed
types that were not known at compile time
* CORBA Services:
o Interoperable Naming service, o Trading service, o Event service,
o Relationship service, o Property service, o Time service,
o Security service
Boost provides free peer-reviewed portable C++ source libraries.
The emphasis is on libraries that work well with the C++ Standard
Library. Boost libraries are intended to be widely useful, and usable
across a broad spectrum of applications. The Boost license encourages
both commercial and non-commercial use.
The goal is to establish "existing practice" and provide reference
implementations so that Boost libraries are suitable for eventual
standardization. Ten Boost libraries are already included in the C++
Standards Committee's Library Technical Report (TR1) and will be in
the new C++0x Standard now being finalized. C++0x will also include
several more Boost libraries in addition to those from TR1. More Boost
libraries are proposed for TR2.
NOTE: This package does not contain Boost.Python, it's in
'devel/boost-python-libs'.
Often in program logic, multiple different steps need to be taken that
are independent of each other, but their total result is needed before
the next step can be taken. In synchonous code, the usual approach is
to do them sequentially.
An asynchronous or event-based program could do this, but if each step
involves some IO idle time, better overall performance can often be
gained by running the steps in parallel. A Async::MergePoint object
can then be used to wait for all of the steps to complete, before
passing the combined result of each step on to the next stage.
This module was originally part of the IO::Async distribution, but was
removed under the inspiration of Pedro Melo's Async::Hooks
distribution, because it doesn't itself contain anything IO-specific.
Data::ObjectDriver is an object relational mapper, meaning that it
maps object-oriented design concepts onto a relational database.
It's inspired by, and descended from, the MT::ObjectDriver classes in
Six Apart's Movable Type and TypePad weblogging products. But it adds
in caching and partitioning layers, allowing you to spread data across
multiple physical databases, without your application code needing to
know where the data is stored.
It's currently considered ALPHA code. The API is largely fixed, but
may seen some small changes in the future. For what it's worth, the
likeliest area for changes are in the syntax for the search method,
and would most likely not break much in the way of backwards
compatibility.
The Inline module allows you to put source code from other programming
languages directly "inline" in a Perl script or module. The code is
automatically compiled as needed, and then loaded for immediate access
from Perl.
Inline saves you from the hassle of having to write and compile your own
glue code using facilities like XS or SWIG. Simply type the code where
you want it and run your Perl as normal. All the hairy details are
handled for you. The compilation and installation of your code chunks
all happen transparently; all you will notice is the delay of
compilation on the first run.
The Inline code only gets compiled the first time you run it (or
whenever it is modified) so you only take the performance hit once. Code
that is Inlined into distributed modules (like on the CPAN) will get
compiled when the module is installed, so the end user will never notice
the compilation time.