Image::Size is a library based on the image-sizing code in the wwwimagesize
script, a tool that analyzes HTML files and adds HEIGHT and WIDTH tags to
IMG directives. Image::Size has generalized that code to return a raw (X, Y)
pair, and included wrappers to pre-format that output into either HTML or a
set of attribute pairs suitable for the CGI.pm library by Lincoln Stein.
Currently, Image::Size can size images in XPM, XBM, GIF, JPEG and PNG
formats.
I did this because my WWW server generates a lot of documents on demand
rather than keeping them in static files. These documents not only use
directional icons and buttons, but other graphics to annotate and highlight
sections of the text. Without size attributes, browsers cannot render the
text of a page until the image data is loaded and the size known for layout.
This library enables scripts to size their images at run-time and include
that as part of the generated HTML. Or for any other utility that uses and
manipulates graphics. The idea of the basic interface + wrappers is to not
limit the programmer to a certain data format.
The OpenGL Character Renderer (GLC) is a state machine that provides
OpenGL programs with character rendering services via an application
programming interface (API).
The character rendering services provided by GLC has some significant
advantages over platform specific interface such as GLX or WGL:
1. The GLC API is platform independent. Since most nontrivial GL
applications render characters, GLC is an important step toward the
goal of truly portable GL applications.
2. The GLC is simpler to use. Only two lines of GLC commands are
required to prepare for rendering characters.
3. GLC provides more ways to exploit the rendering power of OpenGL.
For example, a glyph can be drawn as a bitmap, a set of lines, a
set of triangles, or a textured rectangle.
4. GLC provides better support for glyph transformations. For
example, GLC supports rotated text, which is unavailable in GLX.
5. GLC provides better support for the large coded character set
defined by the standards ISO/IEC 10646:2003 and Unicode 4.0.1
QuesoGLC is a free (as in free speech) implementation of the GLC.
QuesoGLC is based on the FreeType library, provides Unicode support
and is designed to be easily ported to any platform that supports
both FreeType and the OpenGL API.
Lua is a programming language originally designed for extending applications,
but also frequently used as a general-purpose, stand-alone language. Lua
combines simple procedural syntax (similar to Pascal) with powerful data
description constructs based on associative arrays and extensible semantics.
Lua is dynamically typed, interpreted from bytecodes, and has automatic memory
management with garbage collection, making it ideal for configuration,
scripting, and rapid prototyping.
A fundamental concept in the design of Lua is to provide meta-mechanisms for
implementing features, instead of providing a host of features directly in
the language. For example, although Lua is not a pure object-oriented
language, it does provide meta-mechanisms for implementing classes and
inheritance. Lua's meta-mechanisms bring an economy of concepts and keep the
language small, while allowing the semantics to be extended in unconventional
ways. Extensible semantics is a distinguishing feature of Lua.
Lua is implemented as a small library of C functions, written in ANSI C, and
compiles unmodified in all known platforms. The implementation goals are
simplicity, efficiency, portability, and low embedding cost.
Lua is a programming language originally designed for extending applications,
but also frequently used as a general-purpose, stand-alone language. Lua
combines simple procedural syntax (similar to Pascal) with powerful data
description constructs based on associative arrays and extensible semantics.
Lua is dynamically typed, interpreted from bytecodes, and has automatic memory
management with garbage collection, making it ideal for configuration,
scripting, and rapid prototyping.
A fundamental concept in the design of Lua is to provide meta-mechanisms for
implementing features, instead of providing a host of features directly in
the language. For example, although Lua is not a pure object-oriented
language, it does provide meta-mechanisms for implementing classes and
inheritance. Lua's meta-mechanisms bring an economy of concepts and keep the
language small, while allowing the semantics to be extended in unconventional
ways. Extensible semantics is a distinguishing feature of Lua.
Lua is implemented as a small library of C functions, written in ANSI C, and
compiles unmodified in all known platforms. The implementation goals are
simplicity, efficiency, portability, and low embedding cost.
Lua is a programming language originally designed for extending applications,
but also frequently used as a general-purpose, stand-alone language. Lua
combines simple procedural syntax (similar to Pascal) with powerful data
description constructs based on associative arrays and extensible semantics.
Lua is dynamically typed, interpreted from bytecodes, and has automatic memory
management with garbage collection, making it ideal for configuration,
scripting, and rapid prototyping.
A fundamental concept in the design of Lua is to provide meta-mechanisms for
implementing features, instead of providing a host of features directly in
the language. For example, although Lua is not a pure object-oriented
language, it does provide meta-mechanisms for implementing classes and
inheritance. Lua's meta-mechanisms bring an economy of concepts and keep the
language small, while allowing the semantics to be extended in unconventional
ways. Extensible semantics is a distinguishing feature of Lua.
Lua is implemented as a small library of C functions, written in ANSI C, and
compiles unmodified in all known platforms. The implementation goals are
simplicity, efficiency, portability, and low embedding cost.
MIX is Donald Knuth's mythical computer as described in his monumental work
The Art Of Computer Programming. As any of its real counterparts, the MIX
features registers, memory cells, an overflow toggle, comparison flags,
input-output devices, and a set of binary instructions executable by its
virtual CPU. You can programme the MIX using an assembly language called
MIXAL, the MIX Assembly Language.
The MIX Development Kit offers an emulation of MIX and MIXAL. The current
version of MDK includes the following applications:
- mixasm A MIXAL compiler, which translates your source files into binary
ones, executable by the MIX virtual machine.
- mixvm A MIX virtual machine which is able to run and debug compiled MIXAL
programs, using a command line interface with readline's line editting
capabilities.
- gmixvm A MIX virtual machine with a GTK+ GUI which allows you running and
debugging your MIXAL programs through a nice graphical interface.
- mixvm.el An elisp program which allows you to run mixvm within an Emacs
GUD window, simultaneously viewing your MIXAL source file in another
buffer.
P2c is a tool for translating Pascal programs into C. The input consists
of a set of source files in any of the following Pascal dialects: HP
Pascal, Turbo/UCSD Pascal, DEC VAX Pascal, Oregon Software Pascal/2,
Macintosh Programmer's Workshop Pascal, Sun/Berkeley Pascal, Texas
Instruments Pascal, Apollo Domain Pascal. Modula-2 syntax is also
supported. Output is a set of .c and .h files that comprise an
equivalent program in any of several dialects of C. Output code may be
kept machine- and dialect independent, or it may be targeted to a
specific machine and compiler. Most reasonable Pascal programs are
converted into fully functional C which will compile and run with no
further modifications, although p2c sometimes chooses to generate
readable code at the expense of absolute generality. P2c endeavors to
insert notes and warning messages into the output code to point out
areas which may require human intervention. Output code is arranged to
be readable and efficient, and to make use of C idioms wherever
possible. The main goal of the translation is to produce C files which
are pleasant and "natural" enough to be acceptable as the new source
files for a program. In a pinch, p2c will also serve as an ad hoc Pascal
compiler. The p2cc script makes it easy to use p2c as a compiler.
mess822 is a library for parsing Internet mail messages. The mess822
package contains several applications that work with qmail:
* ofmipd rewrites messages from dumb clients. It supports a database
of recognized senders and From lines, using cdb for fast lookups.
* new-inject is an experimental new version of qmail-inject. It
includes a flexible user-controlled hostname rewriting mechanism.
* iftocc can be used in .qmail files. It checks whether a known
address is listed in To or Cc.
* 822header, 822field, 822date, and 822received extract various
pieces of information from a mail message.
* 822print converts a message into an easier-to-read format.
mess822 supports the full complexity of RFC 822 address lists, including
address groups, source routes, spaces around dots, etc. It also supports
common RFC 822 extensions: backslashes in atoms, dots in phrases,
addresses without host names, etc. It extracts each address as an
easy-to-use string, with a separate string for the accompanying comment.
mess822 converts RFC 822 dates into libtai's struct caltime format. It
supports numeric time zones, the standard old-fashioned time zones, and
many nonstandard time zones.
This module was created as a low-level inteface to any IMAP server. It
was built to be a 'clear box' solution to working with an IMAP
environment. The idea is that anything an IMAP client should be able
to do, and any information available via the IMAP specs, should be
available to a client interface and user. This way, the full strength
of the IMAP protocol and data can be utilized, ideally in the most
network-efficient mannger possible, rather than being contrained only
to a subset of commands or data-limited responses. If the server says
it, the client should be able to see it.
This module also takes steps to be able to handle anticipated
situations for the user rather than forcing a per-implementation
behavior for such expected events, such as referrals. IMAP::Client
will fully support referrals, and will transparently handle them for
whatever command is issued to them (so long as the referral s for
anonymous or the same user with the same password - a new user or
different password would require a new username/password to be
obtained. As of 0.01, this is not supported, however the framework is
down.
Before a calculation can be performed on a parallel computer, it must
first be decomposed into tasks which are assigned to different processors.
Efficient use of the machine requires that each processor have about the
same amount of work to do and that the quantity of interprocessor
communication is kept small. Finding an optimal decomposition is provably
hard, but due to its practical importance, a great deal of effort has been
devoted to developing heuristics for this problem. The decomposition
problem can be addressed in terms of graph partitioning.
Chaco implements a variety of algorithms for graph partitioning and is
used at most of the major parallel computing centers around the world to
simplify the development of parallel applications, and to ensure that high
performance is obtained. Chaco has contributed to a wide variety of
computational studies including investigation of the molecular structure
of liquid crystals, evaluating the design of a chemical vapor deposition
reactor and modeling automobile collisions.
Note: this port includes a patch provided by Walter Landry for use within
MBDyn.