MuPDF is a lightweight PDF viewer and toolkit written in portable C.
The renderer in MuPDF is tailored for high quality anti-aliased graphics. It
renders text with metrics and spacing accurate to within fractions of a
pixel for the highest fidelity in reproducing the look of a printed page on
screen.
MuPDF has a small footprint. A binary that includes the standard Roman fonts
is only one megabyte. A build with full CJK support (including an Asian
font) is approximately five megabytes.
MuPDF has support for all non-interactive PDF 1.7 features, and the toolkit
provides a simple API for accessing the internal structures of the PDF
document. Example code for navigating interactive links and bookmarks,
encrypting PDF files, extracting fonts, images, and searchable text, and
rendering pages to image files is provided.
The Java Chart Constuction Kit (JCCKit) is a small (< 100Kb) Java library and a
very flexible framework for creating scientific charts and plots.
The main purpose is to provide a flexible kit for writing Java applets and
application with the need for visualizing scientific data. If you are looking
for a lean scientific chart and plot library without all the unwanted bells and
whistles of the heavy competitors try JCCKit.
The key features of JCCKit are:
* small (< 100Kb jar file)
* highly configurable due to a sophisticated configuration concept
* extensible (1/3 of all classes are interfaces or abstract classes.)
* automatic updating if data changes
* easy programming of dynamic charts and plots
* automatic rescaling if canvas size changes
* out-of-the-box applet for presenting static data on a web page without
Java programming
* automatically generates a legend
The Quantum::Superpositions module adds two new operators to Perl: any and
all.
Each of these operators takes a list of values (states) and superimposes
them into a single scalar value (a superposition), which can then be
stored in a standard scalar variable.
The any and all operators produce two distinct kinds of superposition. The
any operator produces a disjunctive superposition, which may (notionally)
be in any one of its states at any time, according to the needs of the
algorithm that uses it.
In contrast, the all operator creates a conjunctive superposition, which
is always in every one of its states simultaneously.
Superpositions are scalar values and hence can participate in arithmetic
and logical operations just like any other type of scalar. However, when
an operation is applied to a superposition, it is applied (notionally) in
parallel to each of the states in that superposition.
Perdition is a mail retrieval proxy that allows users to connect to a
content-free POP3 or IMAP4 server that will redirect them to their real
POP3 or IMAP4 server. This enables mail retrieval for a domain to be
split across multiple backend servers on a per user basis. It can also
be used as a POP3 or IMAP4 proxy in firewall applications.
Perdition supports arbitrary library based map access to determine the
server for each user - POSIX regex, GDBM, PostgreSQL, MySQL, NIS and
OpenLDAP libraries ship with the distribution.
The use of perditon to scale mail services beyond a single box is discussed
in a paper the author wrote on high capacity email, so be sure to check the
web page.
MasqMail is a mail server designed for hosts that do not have a permanent
internet connection eg. a home network or a single host at home. It has
special support for connections to different ISPs. It replaces sendmail or
other MTAs such as qmail or exim.
Features
* Delivers only when online to a destination 'outside' your LAN
* Support for multiple Providers (ie. Mail Servers, or direct delivery)
* Rewriting of Return addresses (Return-Path:, From:, Reply-To:),
configurable for each Provider separately
* can also be used as a Mail Server on a LAN
* alias support
* delivery to pipes
* delivery to MDAs (eg. procmail)
* Maildir support (version >= 0.2.5)
* routing depending on sender
* AUTH (RFC 2554) support (as client, since version 0.1.0)
* SMTP-after-POP
* POP3 client
* POP3 client daemon (fetch mail in regular intervals if online)
MiniSat is a minimalistic, open-source SAT solver, developed to help
researchers and developers alike to get started on SAT. It is released under
the MIT licence, and is currently used in a number of projects.
Some key features of MiniSat:
- Easy to modify. MiniSat is small and well-documented, and possibly also
well-designed, making it an ideal starting point for adapting SAT based
techniques to domain specific problems.
- Highly efficient. Winning all the industrial categories of the SAT 2005
competition, MiniSat is a good starting point both for future research in SAT,
and for applications using SAT.
- Designed for integration. MiniSat supports incremental SAT and has
mechanisms for adding non-clausal constraints. By virtue of being easy to
modify, it is a good choice for integrating as a backend to another tool, such
as a model checker or a more generic constraint solver.
PLplot is a library of C functions that are useful for making scientific
plots from a program written in C, C++, or Fortran. The PLplot library
can be used to create standard x-y plots, semilog plots, log-log plots,
contour plots, 3D plots, mesh plots, bar charts and pie charts. Multiple
graphs (of the same or different sizes) may be placed on a single page
with multiple lines in each graph. Different line styles, widths and
colors are supported. A virtually infinite number of distinct area fill
patterns may be used. There are almost 1000 characters in the extended
character set. This includes four different fonts, the Greek alphabet and
a host of mathematical, musical, and other symbols. The fonts can be
scaled to any desired size. A variety of output devices are supported and
new devices can be easily added by writing a small number of device
dependent routines.
Table.el is an Emacs lisp package that extends Emacs and provides text
based table creation and editing feature. With this package Emacs is
capable of editing tables that are embedded inside a document, the
feature similar to the ones seen in modern WYSIWYG word processors. A
table is a rectangular text area consisting from a surrounding frame
and content inside the frame. The content is usually subdivided into
multiple rectangular cells, see the actual tables used below in this
document. Once a table is recognized, editing operation inside a table
cell is confined into that specific cell's rectangular area. This
means that typing and deleting characters inside a cell do not affect
any outside text but introduces appropriate formatting only to the
cell contents. If necessary for accommodating added text in the cell,
the cell automatically grows vertically and/or horizontally.
Net::Jabber
The Jabber Instant Messaging project is an Open Source project seeking
to provide a complete cross protocol messaging solution. The problem
with current IM solutions is that they are all proprietary and cannot
talk to each other. Jabber seeks to get rid of those barriers by
allowing a Jabber client to talk with an AOL user, or an IRC chat room,
or any number of other programs.
For more information about the Jabber project visit
Net::Jabber is a collection of Perl modules that provide a Perl Developer
access to the Jabber protocol. Using OOP modules we provide a clean
interface to writing anything from a full client to a simple protocol
tester.
RTG is a flexible, scalable, high-performance SNMP statistics monitoring
system. It is designed for enterprises and service providers who need to
collect time-series SNMP data from a large number of targets quickly. All
collected data is inserted into a relational database that provides a common
interface for applications to generate complex queries and reports. RTG
includes utilities that generate configuration and target files, traffic
reports, 95th percentile reports and graphical data plots. These utilities may
be used to produce a web-based interface to the data.
The unique features of RTG are:
* Runs as a daemon, incurring no cron or kernel startup overhead
* Written entirely in C for speed, incurring no interpreter overhead
* Multi-threaded for asynchronous polling and database insertion
* Inserts data into a relational database where complex queries and reports
may be generated
* Performs no data averaging in order to support billing, etc.
* Can poll at sub-one-minute intervals