This module provides basic functions used in descriptive statistics. It
borrows very heavily from Statistics::Descriptive::Full (which is included
with Statistics::Descriptive) with one major difference. This module is
optimized for discretized data e.g. data from an A/D conversion that has a
discrete set of possible values. E.g. if your data is produced by an 8 bit
A/D then you'd have only 256 possible values in your data set. Even though
you might have a million data points, you'd only have 256 different values
in those million points. Instead of storing the entire data set as
Statistics::Descriptive does, this module only stores the values it's seen
and the number of times it's seen each value.
For very large data sets, this storage method results in significant speed
and memory improvements. In a test case with 2.6 million data points from
a real world application, Statistics::Descriptive::Discrete took 40
seconds to calculate a set of statistics instead of the 561 seconds
required by Statistics::Descriptive::Full. It also required only 4MB of
RAM instead of the 400MB used by Statistics::Descriptive::Full for the
same data set.
Mason is a tool for building, serving and managing large web sites. Its features
make it an ideal backend for high load sites serving dynamic content, such as
online newspapers or database driven e-commerce sites.
Mason's various pieces revolve around the notion of "components". A component is
a mix of HTML, Perl, and special Mason commands, one component per file.
So-called "top-level" components represent entire web-pages, while smaller
components typically return HTML snippets for embedding in top-level components.
This object-like architecture greatly simplifies site maintenance: change a
shared component, and you instantly changed all dependant pages that refer to it
across a site (or across many virtual sites).
Mason's component syntax lets designers separate a web page into programmatic
and design elements. This means the esoteric Perl bits can be hidden near the
bottom of a component, preloading simple variables for use above in the HTML. In
our own experience, this frees content managers (i.e., non-programmers) to work
on the layout without getting mired in programming details. Techies, however,
still enjoy the full power of Perl.
Perl 5.7.3 和以后的版本有一套足够的中文编码,包括常用的 CP950、CP936(也
称为 GBK)、Big5(别名为 Big5-Eten)、Big5-HKSCS、EUC-CN、HZ 和 ISO-IR-165.
然而,中文编码多得惊人,要涵盖所有的编码将会占据 perl 发行版好几兆字节;因此,这个
CPAN 模块试图提供其它剩下的一些编码。
如果你使用的是 perl 5.8 或更高版本,Encode::CN 和 Encode:TW 将会为你自动
加载扩展编码,因此如果你已经使用了它们中的一个,那么你无需明确使用
Encode::HanExtra 来调用。
M.A.M.E./M.E.S.S. Catalog / Launcher II - also referred to as QMC2 - is
the successor of one of the first UNIX MAME GUI front ends available on
this planet called QMamecat (derived from MAMECAT, which was text-only).
QMamecat was based upon Qt 2; its development was frozen in 2003. QMC2
has been rebuilt from scratch as a Qt 4 project. Parts of the design and
code were inspired by its predecessor, but it's not just a remake. We
tried to make the new design as flexible as possible to minimize
dependencies from front end and CLI related MAME changes, which was a
major deficiency of QMamecat. QMC2 now uses a template based emulator
configuration scheme, which can easily be enhanced with additional
command line options (defined in an XML template file).
As a result of this flexible design, QMC2 can be used for multiple
emulators. Currently we support SDLMAME & SDLMESS on UNIX and Mac, and
the original variants of MAME & MESS on Windows.
OBApps is a graphical tool for configuring the per-application settings
(window matching) in the Openbox window manager.
OBApps uses ~/.config/openbox/rc.xml
(or the config-file Openbox was started with) by default.
You can specify another file as an argument, e.g.
obapps.py .config/openbox/myrc.xml
Enter or change the name, class, role, or type settings by clicking in their
entries in the listbox.
Using the Find button to get settings by clicking on a window changes the
settings for the CURRENTLY SELECTED item in the listbox; it does not add
a new entry unless nothing is highlighted. You'll usually want to use the New
button to create a new item first.
Blank entries for name/class/role/type are ignored. If you want any of those
fields to be stored as literally blank attributes (e.g. to match only a window
with a blank role), enter "" or '' in the field.
Changes are written to the rc.xml file only when the apply button is used.
Openbox will automatically be reconfigured when this is done.
The DBD::AnyData module provides a DBI/SQL interface to data in many formats
and from many sources.
Regardless of the format or source of the data, it may be accessed and/or
modified using all standard DBI methods and a subset of SQL syntax.
In addition to standard database access to files, the module also supports
in-memory tables which allow you to create temporary views; to combine data
from a number of sources; to quickly prototype database systems; and to display
or save the data in any of the supported formats (e.g. to display data in a CSV
file as an HTML table). These in-memory tables can be created from any
combination of DBI databases or files of any format. They may also be created
from perl data structures which means it's possible to quickly prototype a
database system without any file access or rdbms backend.
The module also supports converting files between any of the supported formats
(e.g. save selected data from MySQL or Oracle to an XML file).
CAL is a nicely-enhanced version of the Unix `cal' command.
Features:
* Hilights today's date when displaying a monthly calendar.
* Displays an optional user-definable list of `special day'
descriptions (like appointments) to the right of the monthly
calendar display. Cal can be set optionally to ignore appointments
older than the current day. Next month's appointments are shown if
there is room to do so. Multiple appointment data files may also
be specified on the commandline.
* You can specify your own appointment and color definition files on the
commandline, or use the defaults.
* Date descriptions can display "years since" a given year, useful for
birthdays and anniversaries.
* Completely configurable colors -- eight separate color attributes.
* No ANSI driver needed for colors, and the output may be redirected
anywhere, just like the Unix version. However, ANSI color control may
be enabled (e.g. for Unix) with a #define in the source code.
* Commandline-compatible with Unix `cal' command, but with several
enhanced switch settings.
Requests, bug reports, suggestions, donations, proposals for
contract work, and so forth may be sent to:
Attn: Alex Matulich
Unicorn Research Corporation
4621 N. Landmark Drive
Orlando, FL 32817-1235
USA
407-657-4974 FAX 407-657-6149
or send e-mail to matulich_a@seaa.navsea.navy.mil.
Pycerberus is a framework to check user data thoroughly so that you can
protect your application from malicious (or just garbled) input data.
* Remove stupid code which converts input values: After values are
validated, you can work with real Python types instead of strings -
e.g. 42 instead of '42', convert database IDs to model objects
transparently.
* Implement custom validation rules: Writing custom validators is
straightforward, everything is well documented and pycerberus only
uses very little Python magic.
* Focus on your value-adding application code: Save time by
implementing every input validation rule only once, but 100% right
instead of implementing a dozen different half-baked solutions.
* Ready for global business: i18n support (based on GNU gettext) is
built in, adding custom translations is easy.
* Tune it for your needs: You can implement custom behavior in your
validators, e.g. fetch translations from a database instead of using
gettext or define custom translations for built-in validators.
* Use it wherever you like: pycerberus is used in a SMTP server, trac
macros as well as web applications - there are no dependecies on a
specific context like web development.
The snow package provides support for simple parallel computing on a
network of workstations using R. A master R process calls makeCluster
to start a cluster of worker processes; the master process then uses
functions such as clusterCall and clusterApply to execute R code on
the worker processes and collect and return the results on the master.
This framework supports many forms of "embarrassingly parallel"
computations.
Snow can use one of four communications mechanisms: sockets, PVM, MPI,
or NetWorkSpaces (NWS). NWS support was provided by Steve Weston.
PVM clusters use the rpvm package; MPI clusters use package Rmpi; NWS
clusters use package nws. If pvm is used, then pvm must be started,
either using a pvm console (e.g the pvm text console or the graphical
xpvm console, both available with pvm) or from R using functions
provided by rpvm. Similarly, LAM-MPI must be started, e.g. using
lamboot, for MPI clusters that use Rmpi and LAM-MPI. If NWS is used,
the NetWorkSpaces server must be running. SOCK clusters are the
easiest approach for using snow on a single multi-core computer as
they require no additional software.
ABACUS is a software system written in C++ that provides a framework for the
implementation of branch-and-bound algorithms using linear programming
relaxations. Cutting planes or columns can be generated dynamically
(branch-and-cut, branch-and-price, branch-and-cut-and-price).
ABACUS allows the software developer to concentrate merely on the problem
specific parts, i.e., the separation of cutting planes, column generation, and
primal heuristics. ABACUS supports the Open Solver Interface (Osi) developed
by the COIN-OR (COmputational INfrastructure for Operations Research) project
which means that every solver supported by OSI can be used to solve the
relaxations.
Moreover, ABACUS provides a variety of general algorithmic concepts, e.g., a
list of different enumeration and branching strategies from which the best
alternative for the user's application can be chosen.
Finally, ABACUS provides many basic data structures and useful tools for the
implementation of such algorithms. It is designed both for general mixed
integer optimization problems and for combinatorial optimization problems. It
unifies cutting plane and column generation within one algorithm framework.
Simple reuse of code and the design of abstract data structures and algorithms
are met by object oriented programming modules.