applies
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 644
Applygain 1.0
Applygain is an Amarok script stolen from amarok_replaygain script. more>>
Applygain is an Amarok script stolen from amarok_replaygain script.
I only need script to apply replaygain adjustment (using -a or -r) so I can apply replaygain to files in iPod without changing my files in harddisk
<<lessI only need script to apply replaygain adjustment (using -a or -r) so I can apply replaygain to files in iPod without changing my files in harddisk
Download (0.14MB)
Added: 2007-04-19 License: GPL (GNU General Public License) Price:
918 downloads
PleiadesOpenLayers 0.6
PleiadesOpenLayers is a project that wraps the OpenLayers javascript library and provides a slippy AJAX map for Plone. more>>
PleiadesOpenLayers is a project that wraps the OpenLayers javascript library and provides a "slippy" AJAX map for Plone.
PleiadesOpenLayers allows you to embed a "slippy" AJAX map application in your site. Rather than use a proprietary javascript API from Google, Yahoo, or Microsoft, weve opted for the open source alternative: OpenLayers.
The PleiadesOpenLayers product applies a handy patch to OpenLayers and wraps it in a Plone skin. The main advantages over a GYM map are the freedom to design your own base map (from a WMS) and the ability to use your Plone site CSS to style map elements.
For example, see the ploneful popup box and user icons overlaid on the map in the attached screenshot.
Enhancements:
- Automated configuration of skin layers.
- "Map Context" and "Map Layer" content types for building OpenLayers maps in Plone.
- Expose OpenLayer.js via filesystem view for pure-Plone sites.
<<lessPleiadesOpenLayers allows you to embed a "slippy" AJAX map application in your site. Rather than use a proprietary javascript API from Google, Yahoo, or Microsoft, weve opted for the open source alternative: OpenLayers.
The PleiadesOpenLayers product applies a handy patch to OpenLayers and wraps it in a Plone skin. The main advantages over a GYM map are the freedom to design your own base map (from a WMS) and the ability to use your Plone site CSS to style map elements.
For example, see the ploneful popup box and user icons overlaid on the map in the attached screenshot.
Enhancements:
- Automated configuration of skin layers.
- "Map Context" and "Map Layer" content types for building OpenLayers maps in Plone.
- Expose OpenLayer.js via filesystem view for pure-Plone sites.
Download (0.23MB)
Added: 2007-02-20 License: GPL (GNU General Public License) Price:
978 downloads
WMAcpi 1.21
WMAcpi is port of WMApm 1.1 with ACPI support. more>>
WMAcpi is port of WMApm 1.1 with ACPI support.
Implementation of "ACPI" mode:
As far as I know, there arent any tools available right now to process battery statistics provided in /proc/power by ACPI stuff in 2.4.x kernels. So, I updated wmapm 1.1 to handle ACPI also. There are no changes between 1.1 and 1.2 other than ACPI stuff. If you are NOT interested in ACPI, this version is NOT for you. However, if you ARE interested in ACPI, please test this and
let me know if it works for you. This code makes a couple assumptions, they
are as follows:
* You only have one battery, and its a "Control Method" battery
* Your ACPI bios is more or less "not fucked up" (i.e. it works with 2.4.2)
* VERY IMPORTANT: You are running kernel 2.4.2. This has been tested under 2.4.2 kernel ONLY, and is not guaranteed to work with anything else. You have been warned.
To use ACPI support, just follow "INSTALL" instructions. Makefile has been updated to include -DACPI. If you dont have ACPI, you dont need this version of wmapm. Information after "INSTALL" section only applies to APM systems, without ACPI support.
Installation:
* make
* copy wmapm somewhere useful
* dance
* < somewhere useful >/wmapm &
* phear
(if it doesnt work, skip the phear step)
Note, this (for now) only supports laptops with one system battery. I am working with kernel acpi people to standartize power reporting interface, and when its usable, WMApm will be updated to support any number of batteries, and provide full information about ACPI power sources.
<<lessImplementation of "ACPI" mode:
As far as I know, there arent any tools available right now to process battery statistics provided in /proc/power by ACPI stuff in 2.4.x kernels. So, I updated wmapm 1.1 to handle ACPI also. There are no changes between 1.1 and 1.2 other than ACPI stuff. If you are NOT interested in ACPI, this version is NOT for you. However, if you ARE interested in ACPI, please test this and
let me know if it works for you. This code makes a couple assumptions, they
are as follows:
* You only have one battery, and its a "Control Method" battery
* Your ACPI bios is more or less "not fucked up" (i.e. it works with 2.4.2)
* VERY IMPORTANT: You are running kernel 2.4.2. This has been tested under 2.4.2 kernel ONLY, and is not guaranteed to work with anything else. You have been warned.
To use ACPI support, just follow "INSTALL" instructions. Makefile has been updated to include -DACPI. If you dont have ACPI, you dont need this version of wmapm. Information after "INSTALL" section only applies to APM systems, without ACPI support.
Installation:
* make
* copy wmapm somewhere useful
* dance
* < somewhere useful >/wmapm &
* phear
(if it doesnt work, skip the phear step)
Note, this (for now) only supports laptops with one system battery. I am working with kernel acpi people to standartize power reporting interface, and when its usable, WMApm will be updated to support any number of batteries, and provide full information about ACPI power sources.
Download (0.011MB)
Added: 2006-10-13 License: GPL (GNU General Public License) Price:
1106 downloads
MP3Mixer 0.01
Mp3mixer is a simple system to let you mix multiple mpeg audio streams in real time. more>>
Mp3mixer is a simple system to let you mix multiple mpeg audio streams in real time, with a view to copying the capabilities a DJ will have access to - but obviously without quite the same feedback.
MP3Mixer is a quick hack which I wrote up ages ago as a front end to mpg123, and really it shows it, but with a bit of practise you can make it do great things.
The next step is to integrate it into mp3serv so that the results can be broadcast to the world.
This is a reconstruction of an old piece of software I used to have, the basic idea is to let you mix 2 audio streams generated from mpeg audio files with volume and speed control.
The code is basically a wrapper which uses mpg123 to actually decode the mpeg files to raw audio data. The programme then applies the speed control and mixes the two audio streams.
Because sustaining the throughput requires a lot of process switching you need a reasonably high spec machine to keep the audio pipe fed.
Because there is a buffer for talking to the sound card there is a perceptible delay between hitting a kety and the output changing.
Its possible to shrink the buffer and reduce this delay, but the smaller the buffer the more likley there will be skips due to the buffer running dry.
<<lessMP3Mixer is a quick hack which I wrote up ages ago as a front end to mpg123, and really it shows it, but with a bit of practise you can make it do great things.
The next step is to integrate it into mp3serv so that the results can be broadcast to the world.
This is a reconstruction of an old piece of software I used to have, the basic idea is to let you mix 2 audio streams generated from mpeg audio files with volume and speed control.
The code is basically a wrapper which uses mpg123 to actually decode the mpeg files to raw audio data. The programme then applies the speed control and mixes the two audio streams.
Because sustaining the throughput requires a lot of process switching you need a reasonably high spec machine to keep the audio pipe fed.
Because there is a buffer for talking to the sound card there is a perceptible delay between hitting a kety and the output changing.
Its possible to shrink the buffer and reduce this delay, but the smaller the buffer the more likley there will be skips due to the buffer running dry.
Download (0.003MB)
Added: 2006-02-22 License: GPL (GNU General Public License) Price:
1339 downloads
OpenPlugin::Application 0.11
OpenPlugin::Application is a subclass of CGI::Application, meant to help you create reusable web applications. more>>
OpenPlugin::Application is a subclass of CGI::Application, meant to help you create reusable web applications.
SYNOPSIS
# Example from OpenThoughts Demo.pm
package Demo;
use base "OpenPlugin::Application";
sub setup {
my $self = shift;
$self->run_modes(
mode1 => init_demo,
mode2 => get_os_list,
mode3 => get_os_info,
);
$self->start_mode( mode1 );
$self->mode_param(run_mode);
}
sub init_demo { ... }
sub get_os_list { ... }
sub get_os_info { ... }
1;
# Example from OpenThoughts demo.pl
#!/usr/bin/perl -wT
use strict;
my $r = shift;
my $demo = Demo->new( PARAMS => {
config => { src => "/path/to/OpenPlugin.conf" },
request => { apache => $r },
});
$demo->run();
OpenPlugin::Application is built on Jesse Erlbaums popular CGI::Application module. OpenPlugin::Application is simply a subclass of CGI::Application. Jesse says the following about CGI::Application:
"CGI::Application is intended to make it easier to create sophisticated, reusable web-based applications. This module implements a methodology which, if followed, will make your web software easier to design, easier to document, easier to write, and easier to evolve."
How does it do this? Jesse goes on to say:
"The guiding philosophy behind CGI::Application is that a web-based application can be organized into a specific set of "Run-Modes." Each Run-Mode is roughly analogous to a single screen (a form, some output, etc.). All the Run-Modes are managed by a single "Application Module" which is a Perl module. In your web servers document space there is an "Instance Script" which is called by the web server"
The biggest difference between CGI::Application and OpenPlugin::Application is that query object they both use; one is designed to use CGI.pm, the other OpenPlugin. Generally speaking, everything in the still applies. Any differences will be noted in this document.
It is not necessary to use OpenPlugin::Application in order to build web applications using OpenPlugin. This plugin is meant to be for your convenience -- to help you structure your web applications in a manner which makes sense, and is reusable.
<<lessSYNOPSIS
# Example from OpenThoughts Demo.pm
package Demo;
use base "OpenPlugin::Application";
sub setup {
my $self = shift;
$self->run_modes(
mode1 => init_demo,
mode2 => get_os_list,
mode3 => get_os_info,
);
$self->start_mode( mode1 );
$self->mode_param(run_mode);
}
sub init_demo { ... }
sub get_os_list { ... }
sub get_os_info { ... }
1;
# Example from OpenThoughts demo.pl
#!/usr/bin/perl -wT
use strict;
my $r = shift;
my $demo = Demo->new( PARAMS => {
config => { src => "/path/to/OpenPlugin.conf" },
request => { apache => $r },
});
$demo->run();
OpenPlugin::Application is built on Jesse Erlbaums popular CGI::Application module. OpenPlugin::Application is simply a subclass of CGI::Application. Jesse says the following about CGI::Application:
"CGI::Application is intended to make it easier to create sophisticated, reusable web-based applications. This module implements a methodology which, if followed, will make your web software easier to design, easier to document, easier to write, and easier to evolve."
How does it do this? Jesse goes on to say:
"The guiding philosophy behind CGI::Application is that a web-based application can be organized into a specific set of "Run-Modes." Each Run-Mode is roughly analogous to a single screen (a form, some output, etc.). All the Run-Modes are managed by a single "Application Module" which is a Perl module. In your web servers document space there is an "Instance Script" which is called by the web server"
The biggest difference between CGI::Application and OpenPlugin::Application is that query object they both use; one is designed to use CGI.pm, the other OpenPlugin. Generally speaking, everything in the still applies. Any differences will be noted in this document.
It is not necessary to use OpenPlugin::Application in order to build web applications using OpenPlugin. This plugin is meant to be for your convenience -- to help you structure your web applications in a manner which makes sense, and is reusable.
Download (0.077MB)
Added: 2006-10-31 License: Perl Artistic License Price:
1088 downloads
pam_dotfile 0.7
pam_dotfileis a PAM module which allows users to have more than one password for a single account, each for a different service. more>>
pam_dotfileis a PAM module which allows users to have more than one password for a single account, each for a different service.
This is desirable because many users have objections to using the same password for (as an example) an IMAP4 mailbox and SSH access.
The IMAP4 password should be distinct from the SSH password because the user wants to save the former in the configuration of his mail agent, but not the latter. The same applies to POP3 mailboxes, FTP and comparable services.
PAM parameters
debug - Be very verbose to syslog(3)
use_first_pass - Dont issue a password prompt, use one supplied by a previous modules
try_first_pass - Nearly the same as use_first_pass, but dont fail if no password was supplied, instead query the user
use_authtok - Synonym for use_first_pass
rootok - Dont deny access for users with uid == 0
nullok - Dont deny access for null passwords
fork - Always fork before trying to open the password files via the helper tool
nofork - Never fork
no_warn - Suppress warnings to syslog(3)
stat_only_home - verifies group/world readability only inside the home directory. e.g. if the configuration file is /home/waldo/.pam/service only /home/waldo/.pam and /home/waldo are tested. This is sometimes necessary if the home directories are symbolic links.
nocompat05 - Disable compatibility with pam_dotfile<<less
This is desirable because many users have objections to using the same password for (as an example) an IMAP4 mailbox and SSH access.
The IMAP4 password should be distinct from the SSH password because the user wants to save the former in the configuration of his mail agent, but not the latter. The same applies to POP3 mailboxes, FTP and comparable services.
PAM parameters
debug - Be very verbose to syslog(3)
use_first_pass - Dont issue a password prompt, use one supplied by a previous modules
try_first_pass - Nearly the same as use_first_pass, but dont fail if no password was supplied, instead query the user
use_authtok - Synonym for use_first_pass
rootok - Dont deny access for users with uid == 0
nullok - Dont deny access for null passwords
fork - Always fork before trying to open the password files via the helper tool
nofork - Never fork
no_warn - Suppress warnings to syslog(3)
stat_only_home - verifies group/world readability only inside the home directory. e.g. if the configuration file is /home/waldo/.pam/service only /home/waldo/.pam and /home/waldo are tested. This is sometimes necessary if the home directories are symbolic links.
nocompat05 - Disable compatibility with pam_dotfile<<less
Download (0.22MB)
Added: 2006-05-17 License: GPL (GNU General Public License) Price:
1255 downloads
GPP 2.24
GPP is a generic preprocessor with customizable syntax. more>>
GPP is a general-purpose preprocessor with customizable syntax, suitable for a wide range of preprocessing tasks. Its independence from any programming language makes it much more versatile than cpp, while its syntax is lighter and more flexible than that of m4.
GPP is targeted at all common preprocessing tasks where cpp is not suitable and where no very sophisticated features are needed. In order to be able to process equally efficiently text files or source code in a variety of languages, the syntax used by GPP is fully customizable. The handling of comments and strings is especially advanced.
Initially, GPP only understands a minimal set of built-in macros, called meta-macros. These meta-macros allow the definition of user macros as well as some basic operations forming the core of the preprocessing system, including conditional tests, arithmetic evaluation, wildcard matching (globbing), and syntax specification.
All user macro definitions are globali.e., they remain valid until explicitly removed; meta-macros cannot be redefined. With each user macro definition GPP keeps track of the corresponding syntax specification so that a macro can be safely invoked regardless of any subsequent change in operating mode.
In addition to macros, GPP understands comments and strings, whose syntax and behavior can be widely customized to fit any particular purpose. Internally comments and strings are the same construction, so everything that applies to comments applies to strings as well.
Syntax
gpp [-{o|O} outfile] [-I/include/path] [-Dname=val ...]
[-z|+z] [-x] [-m] [-C|-T|-H|-X|-P|-U ... [-M ...]]
[-n|+n] [+c str1 str2] [+s str1 str2 c]
[-c str1] [--nostdinc] [--nocurinc]
[--curdirinclast] [--warninglevel n]
[--includemarker str] [--include file]
[infile]
gpp --help
gpp --version
<<lessGPP is targeted at all common preprocessing tasks where cpp is not suitable and where no very sophisticated features are needed. In order to be able to process equally efficiently text files or source code in a variety of languages, the syntax used by GPP is fully customizable. The handling of comments and strings is especially advanced.
Initially, GPP only understands a minimal set of built-in macros, called meta-macros. These meta-macros allow the definition of user macros as well as some basic operations forming the core of the preprocessing system, including conditional tests, arithmetic evaluation, wildcard matching (globbing), and syntax specification.
All user macro definitions are globali.e., they remain valid until explicitly removed; meta-macros cannot be redefined. With each user macro definition GPP keeps track of the corresponding syntax specification so that a macro can be safely invoked regardless of any subsequent change in operating mode.
In addition to macros, GPP understands comments and strings, whose syntax and behavior can be widely customized to fit any particular purpose. Internally comments and strings are the same construction, so everything that applies to comments applies to strings as well.
Syntax
gpp [-{o|O} outfile] [-I/include/path] [-Dname=val ...]
[-z|+z] [-x] [-m] [-C|-T|-H|-X|-P|-U ... [-M ...]]
[-n|+n] [+c str1 str2] [+s str1 str2 c]
[-c str1] [--nostdinc] [--nocurinc]
[--curdirinclast] [--warninglevel n]
[--includemarker str] [--include file]
[infile]
gpp --help
gpp --version
Download (0.059MB)
Added: 2005-04-13 License: LGPL (GNU Lesser General Public License) Price:
1669 downloads
Zope 3.3.1
Zope is a Web application platform for dynamic Web sites. more>>
Zope is an open source web application server primarily written in the Python programming language. Zope features a transactional object database which can store not only content and custom data, but also dynamic HTML templates, scripts, a search engine, and relational database (RDBMS) connections and code.
It features a strong through-the-web development model, allowing you to update your web site from anywhere in the world. To allow for this, Zope also features a tightly integrated security model. Built around the concept of "safe delegation of control", Zopes security architecture also allows you to turn control over parts of a web site to other organizations or individuals.
The transactional model applies not only to Zopes object database, but to many relational database connectors as well, allowing for strong data integrity. This transaction model happens automatically, ensuring that all data is successfully stored in connected data sources by the time a response is returned to a web browser or other client.
There are numerous products (plug-in Zope components) available for download to extend the basic set of site building tools. These products include new content objects; relational database and other external data source connectors; advanced content management tools; and full applications for e-commerce, content and document management, or bug and issue tracking.
Zope includes its own HTTP, FTP, WebDAV, and XML-RPC serving capabilities, but can also be used with the Apache or other web servers.
Zope can help you create dynamic web applications such as portal and intranet sites quickly.
Zope comes with everything you need including support for membership, search, and news.
<<lessIt features a strong through-the-web development model, allowing you to update your web site from anywhere in the world. To allow for this, Zope also features a tightly integrated security model. Built around the concept of "safe delegation of control", Zopes security architecture also allows you to turn control over parts of a web site to other organizations or individuals.
The transactional model applies not only to Zopes object database, but to many relational database connectors as well, allowing for strong data integrity. This transaction model happens automatically, ensuring that all data is successfully stored in connected data sources by the time a response is returned to a web browser or other client.
There are numerous products (plug-in Zope components) available for download to extend the basic set of site building tools. These products include new content objects; relational database and other external data source connectors; advanced content management tools; and full applications for e-commerce, content and document management, or bug and issue tracking.
Zope includes its own HTTP, FTP, WebDAV, and XML-RPC serving capabilities, but can also be used with the Apache or other web servers.
Zope can help you create dynamic web applications such as portal and intranet sites quickly.
Zope comes with everything you need including support for membership, search, and news.
Download (6.3MB)
Added: 2007-02-16 License: ZPL (Zope Public License) Price:
982 downloads
Other version of Zope
License:ZPL (Zope Public License)
Castle Linux 2.4
Castle is a server distribution from the ALT Linux Team in Russia. more>>
Castle is a server distribution from the ALT Linux Team in Russia. Installation instructions and some other documentation is available in English.
Brief RSBAC instructions:
1. During installation process you will have to create security officer account. This is a user that can setup RSBAC security configuration.
2. Installer applies to RSBAC kernel two special parameters "rsbac_auth_enable_login" and "rsbac_softmode". Please, dont remove it. You need it for correct installation process.
3. Run RSBAC kernel just after system installation.
4. After reboot RSBAC will function in normal mode. If you need soft mode again, use rsbac_softmode kernel parameter during boot.
5. After finishing system configuration please reboot your server.
6. RSBAC will work in normal mode at all future startups of the system. You can boot RSBAC kernel in "soft" mode again using "rsbac_softmode" kernel parameter.
7. Login as security officer you have created during installation process and run main RSBAC configuration utility "rsbac_admin".
Default security configuration:
* All system directories are in "read only" and "execute only" mode.
* Base system configuration files (e.g /etc/lilo.conf /etc/fstab) are also in read only mode.
* Home directory is available only for users and security officer (but he has no access to users home directories).Security Officers home is situated in the root directory (/secoff) and is open only for the owner. You can also create trusted environment for security officer by putting special files into the home.
* There are some useful scripts in security officers home: to enable/disable useradd, to enable/disable install and an example script for http protection.
<<lessBrief RSBAC instructions:
1. During installation process you will have to create security officer account. This is a user that can setup RSBAC security configuration.
2. Installer applies to RSBAC kernel two special parameters "rsbac_auth_enable_login" and "rsbac_softmode". Please, dont remove it. You need it for correct installation process.
3. Run RSBAC kernel just after system installation.
4. After reboot RSBAC will function in normal mode. If you need soft mode again, use rsbac_softmode kernel parameter during boot.
5. After finishing system configuration please reboot your server.
6. RSBAC will work in normal mode at all future startups of the system. You can boot RSBAC kernel in "soft" mode again using "rsbac_softmode" kernel parameter.
7. Login as security officer you have created during installation process and run main RSBAC configuration utility "rsbac_admin".
Default security configuration:
* All system directories are in "read only" and "execute only" mode.
* Base system configuration files (e.g /etc/lilo.conf /etc/fstab) are also in read only mode.
* Home directory is available only for users and security officer (but he has no access to users home directories).Security Officers home is situated in the root directory (/secoff) and is open only for the owner. You can also create trusted environment for security officer by putting special files into the home.
* There are some useful scripts in security officers home: to enable/disable useradd, to enable/disable install and an example script for http protection.
Download (706MB)
Added: 2005-05-17 License: GPL (GNU General Public License) Price:
1620 downloads
Graph::ModularDecomposition 0.13
Graph::ModularDecomposition is a Perl module for modular decomposition of directed graphs. more>>
Graph::ModularDecomposition is a Perl module for modular decomposition of directed graphs.
SYNOPSIS
use Graph::ModularDecomposition qw(pairstring_to_graph tree_to_string);
my $g = new Graph::ModularDecomposition;
my $h = $g->pairstring_to_graph( ab,ac,bc );
print "yesn" if check_transitive( $h );
print "yesn" if $h->check_transitive; # same thing
my $m = $h->modular_decomposition_EGMS;
print tree_to_string( $m );
This module extends Graph::Directed by providing new methods related to modular decomposition.
The most important new method is modular_decomposition_EGMS(), which for a directed graph with n vertices finds the modular decomposition tree of the graph in O(n^2) time. Method tree_to_string() may be useful to represent the decomposition tree in a friendlier format; this needs to be explicitly imported.
If you need to decompose an undirected graph, represent it as a directed graph by adding two directed edges for each undirected edge.
The method classify() uses the modular decomposition tree to classify a directed graph as non-transitive, or for transitive digraphs, as series-parallel (linear or parallel modules only), decomposable (not series-parallel, but with at least one non-primitive module), indecomposable (primitive), decomposable but consisting of primitive or series modules only (only applies to graphs of at least 7 vertices), or unclassified (should never apply).
<<lessSYNOPSIS
use Graph::ModularDecomposition qw(pairstring_to_graph tree_to_string);
my $g = new Graph::ModularDecomposition;
my $h = $g->pairstring_to_graph( ab,ac,bc );
print "yesn" if check_transitive( $h );
print "yesn" if $h->check_transitive; # same thing
my $m = $h->modular_decomposition_EGMS;
print tree_to_string( $m );
This module extends Graph::Directed by providing new methods related to modular decomposition.
The most important new method is modular_decomposition_EGMS(), which for a directed graph with n vertices finds the modular decomposition tree of the graph in O(n^2) time. Method tree_to_string() may be useful to represent the decomposition tree in a friendlier format; this needs to be explicitly imported.
If you need to decompose an undirected graph, represent it as a directed graph by adding two directed edges for each undirected edge.
The method classify() uses the modular decomposition tree to classify a directed graph as non-transitive, or for transitive digraphs, as series-parallel (linear or parallel modules only), decomposable (not series-parallel, but with at least one non-primitive module), indecomposable (primitive), decomposable but consisting of primitive or series modules only (only applies to graphs of at least 7 vertices), or unclassified (should never apply).
Download (0.013MB)
Added: 2006-09-29 License: Perl Artistic License Price:
1122 downloads
Algorithm::Diff::Apply 0.2.3
Algorithm::Diff::Apply is a Perl module to apply one or more Algorithm::Diff diffs. more>>
Algorithm::Diff::Apply is a Perl module to apply one or more Algorithm::Diff diffs.
SYNOPSIS
## Single-diff form:
use Algorithm::Diff::Apply qw{apply_diff};
my @ary = ...;
my @diff = ...; # some call to Algorithm::Diff::diff()
my @changed_ary = apply_diff(@ary, @diff);
my $changed_ary = apply_diff(@ary, @diff);
## To apply >1 diff at once, use the plural form:
use Algorithm::Diff::Apply qw{apply_diffs};
@newary = apply_diffs(@ary,
diff1_name => @diff1,
diff2_name => @diff2,
...
diffN_name => @diffN);
# Alternatively:
@newary = apply_diffs(@ary, %named_diffs);
# Scalar context:
$newary = apply_diffs(@ary, %named_diffs);
# Extension argument syntax:
$newary = apply_diffs(@ary, {
resolver => &some_sub,
optimisers => [&foo, &bar],
key_generator => &anothersub,
opt4 => ...,
opt5 => ...,
}, %named_diffs);
<<lessSYNOPSIS
## Single-diff form:
use Algorithm::Diff::Apply qw{apply_diff};
my @ary = ...;
my @diff = ...; # some call to Algorithm::Diff::diff()
my @changed_ary = apply_diff(@ary, @diff);
my $changed_ary = apply_diff(@ary, @diff);
## To apply >1 diff at once, use the plural form:
use Algorithm::Diff::Apply qw{apply_diffs};
@newary = apply_diffs(@ary,
diff1_name => @diff1,
diff2_name => @diff2,
...
diffN_name => @diffN);
# Alternatively:
@newary = apply_diffs(@ary, %named_diffs);
# Scalar context:
$newary = apply_diffs(@ary, %named_diffs);
# Extension argument syntax:
$newary = apply_diffs(@ary, {
resolver => &some_sub,
optimisers => [&foo, &bar],
key_generator => &anothersub,
opt4 => ...,
opt5 => ...,
}, %named_diffs);
Download (0.012MB)
Added: 2006-10-12 License: Perl Artistic License Price:
1107 downloads
AqMail 0.9.1 Beta
AqMail fetches mails from remote mailboxes (POP3), applies admin-defined filters. more>>
AqMail fetches mails from remote mailboxes (POP3), applies admin-defined filters, and stores the email in local mailboxes for POP3 daemons to serve them.
AqMail project supports virtual mail domains and users. It has been tested with QMail as the MTA and with Spamassassin and ClamAV as filters.
Main features:
- supports virtual users and domains
- supports multiple remote boxes per user (mails can be gathered from remote boxes into local boxes)
- individual fetch intervals for every remote box of every user
- system-wide, domain-wide or per-user filtering of mail
- ordering of mail filters
- simple interface to filter scripts (basically "FILTER INFILE OUTFILE")
- POP3 client plugin with APOP or USER/PASS authentification
- maildir plugin (reads and writes maildir folders)
- tested with QMail, SpamAssassin and ClamAV
You can use AqMail to gather mails from multiple email accounts into a single account which can then be accessed via a webmail interface (e.g. OpenWebMail) or via a POP3 server (e.g. QMail).
AqMail can be used as a daemon which continuously fetches, filters and distributes mails. It can also be used in command mode (e.g. to fetch mails and store them directly to a maildir in order to just replace the tool fetchmail).
AqMail is running on my own system in combination with QMail. However, any mail transfer agent which is able to serve from maildir folders can be used.
Enhancements:
- The daemon mode has been improved since 0.9.0beta.
<<lessAqMail project supports virtual mail domains and users. It has been tested with QMail as the MTA and with Spamassassin and ClamAV as filters.
Main features:
- supports virtual users and domains
- supports multiple remote boxes per user (mails can be gathered from remote boxes into local boxes)
- individual fetch intervals for every remote box of every user
- system-wide, domain-wide or per-user filtering of mail
- ordering of mail filters
- simple interface to filter scripts (basically "FILTER INFILE OUTFILE")
- POP3 client plugin with APOP or USER/PASS authentification
- maildir plugin (reads and writes maildir folders)
- tested with QMail, SpamAssassin and ClamAV
You can use AqMail to gather mails from multiple email accounts into a single account which can then be accessed via a webmail interface (e.g. OpenWebMail) or via a POP3 server (e.g. QMail).
AqMail can be used as a daemon which continuously fetches, filters and distributes mails. It can also be used in command mode (e.g. to fetch mails and store them directly to a maildir in order to just replace the tool fetchmail).
AqMail is running on my own system in combination with QMail. However, any mail transfer agent which is able to serve from maildir folders can be used.
Enhancements:
- The daemon mode has been improved since 0.9.0beta.
Download (0.40MB)
Added: 2006-04-21 License: GPL (GNU General Public License) Price:
1281 downloads
PDL::Reduce 2.3.2
PDL::Reduce is Perl module that helps to reduce functions for PDL. more>>
PDL::Reduce is Perl module that helps to reduce functions for PDL.
Many languages have a reduce function used to reduce the rank of an N-D array by one. It works by applying a selected operation along a specified dimension. This module implements such a function for PDL by providing a simplified interface to the existing projection functions (e.g. sumover, maximum, average, etc).
SYNOPSIS
use PDL::Reduce;
$a = sequence 5,5;
# reduce by adding all
# elements along 2nd dimension
$b = $a->reduce(add,1);
@ops = $a->canreduce; # return a list of all allowed operations
FUNCTIONS
reduce
reduce dimension of piddle by one by applying an operation along the specified dimension
$a = sequence 5,5;
# reduce by adding all
# elements along 2nd dimension
$b = $a->reduce(add,1);
$b = $a->reduce(plus,1);
$b = $a->reduce(+,1); # three ways to do the same thing
[ As an aside: if you are familiar with threading you will see that this is actually the same as
$b = $a->mv(1,0)->sumover
]
NOTE: You should quote the name of the operation (1st arg) that you want reduce to perform. This is important since some of the names are identical to the names of the actual PDL functions which might be imported into your namespace. And you definitely want a string as argument, not a function invocation! For example, this will probably fail:
$b = $a->reduce(avg,1); # gives an error from invocation of avg
Rather use
$b = $a->reduce(avg,1);
reduce provides a simple and unified interface to the projection functions and makes people coming from other data/array languages hopefully feel more at home.
$result = $pdl->reduce($operation [,$dim]);
reduce applies the named operation along the specified dimension reducing the input piddle dimension by one. If the dimension is omitted the operation is applied along the first dimension. To get a list of valid operations see canreduce.
canreduce
return list of valid named reduce operations Some common operations can be accessed using a number of names, e.g. +, add and plus all sum the elements along the chosen dimension.
@ops = PDL->canreduce;
This list is useful if you want to make sure which operations can be used with reduce.
<<lessMany languages have a reduce function used to reduce the rank of an N-D array by one. It works by applying a selected operation along a specified dimension. This module implements such a function for PDL by providing a simplified interface to the existing projection functions (e.g. sumover, maximum, average, etc).
SYNOPSIS
use PDL::Reduce;
$a = sequence 5,5;
# reduce by adding all
# elements along 2nd dimension
$b = $a->reduce(add,1);
@ops = $a->canreduce; # return a list of all allowed operations
FUNCTIONS
reduce
reduce dimension of piddle by one by applying an operation along the specified dimension
$a = sequence 5,5;
# reduce by adding all
# elements along 2nd dimension
$b = $a->reduce(add,1);
$b = $a->reduce(plus,1);
$b = $a->reduce(+,1); # three ways to do the same thing
[ As an aside: if you are familiar with threading you will see that this is actually the same as
$b = $a->mv(1,0)->sumover
]
NOTE: You should quote the name of the operation (1st arg) that you want reduce to perform. This is important since some of the names are identical to the names of the actual PDL functions which might be imported into your namespace. And you definitely want a string as argument, not a function invocation! For example, this will probably fail:
$b = $a->reduce(avg,1); # gives an error from invocation of avg
Rather use
$b = $a->reduce(avg,1);
reduce provides a simple and unified interface to the projection functions and makes people coming from other data/array languages hopefully feel more at home.
$result = $pdl->reduce($operation [,$dim]);
reduce applies the named operation along the specified dimension reducing the input piddle dimension by one. If the dimension is omitted the operation is applied along the first dimension. To get a list of valid operations see canreduce.
canreduce
return list of valid named reduce operations Some common operations can be accessed using a number of names, e.g. +, add and plus all sum the elements along the chosen dimension.
@ops = PDL->canreduce;
This list is useful if you want to make sure which operations can be used with reduce.
Download (1.1MB)
Added: 2007-07-14 License: Perl Artistic License Price:
832 downloads
Data::Walker 1.05
Data::Walker is a tool for navigating through Perl data structures. more>>
Data::Walker is a tool for navigating through Perl data structures.
SYNOPSIS
Without any explicit objects:
use Data::Walker;
Data::Walker->cli( $data_structure );
Object-style invocation:
use Data::Walker;
my $w = new Data::Walker;
$w->walk( $data_structure );
$w->ls("-al");
$w->pwd;
$w->cli;
Importing methods into the current package:
use Data::Walker qw(:direct);
walk $data_structure;
ls "-al";
pwd;
cli;
This module allows you to "walk" an arbitrary Perl data structure in the same way that you can walk a directory tree from a UNIX command line. It reuses familiar unix commands (such as "ls", "cd", "pwd") and applies these to data structures.
It has a command-line interface which behaves like a UNIX shell. You can also use object-style sytax to invoke the CLI commands from outside the CLI. Data::Walker objects are encapsulated, so that you can hop into and out of a CLI without losing state, and you can have several Data::Walker objects pointing at different structures.
The main functions can also be imported and used directly from within the Perl debuggers CLI.
<<lessSYNOPSIS
Without any explicit objects:
use Data::Walker;
Data::Walker->cli( $data_structure );
Object-style invocation:
use Data::Walker;
my $w = new Data::Walker;
$w->walk( $data_structure );
$w->ls("-al");
$w->pwd;
$w->cli;
Importing methods into the current package:
use Data::Walker qw(:direct);
walk $data_structure;
ls "-al";
pwd;
cli;
This module allows you to "walk" an arbitrary Perl data structure in the same way that you can walk a directory tree from a UNIX command line. It reuses familiar unix commands (such as "ls", "cd", "pwd") and applies these to data structures.
It has a command-line interface which behaves like a UNIX shell. You can also use object-style sytax to invoke the CLI commands from outside the CLI. Data::Walker objects are encapsulated, so that you can hop into and out of a CLI without losing state, and you can have several Data::Walker objects pointing at different structures.
The main functions can also be imported and used directly from within the Perl debuggers CLI.
Download (0.020MB)
Added: 2007-06-30 License: Perl Artistic License Price:
846 downloads
WAIT 1.800
WAIT Perl module is a rewrite of the freeWAIS-sf engine in Perl and XS. more>>
WAIT Perl module is a rewrite of the freeWAIS-sf engine in Perl and XS.
The central idea of the system is to provide a framework and the building blocks for any indexing and search system the users might want to build. Obviously the framework limits the class of system which can be build.
+------+ +-----+ +------+
==> |Access| ==> |Parse| ==> | |
+------+ +-----+ | |
|| | | +-----+
|| |Filter| ==> |Index|
/ | | +-----+
+-------+ +-----+ | |
1}, "$_n";
} else {
push @result, {}, "$_n";
}
}
return @result; # we dont go for speed
}
Obviously one could implement split via tag. The reason for having two functions is speed. We need to call split for each document when indexing a collection. Therefore speed is essential. On the other hand, tag is called in order to display a single document and may be a little slower. It may care about tagging bold and italic regions. See WAIT::Parse::Nroff how this might decrease performance.
Filter definition
From the Information Retrieval perspective, the hardest part of the system is the filter module. The database administrator defines for each attribute, how the contents should be processed before it is stored in the index. Usually the processing contains steps to restrict the character set, case transformation, splitting to words and transforming to word stems. In WAIT these steps are defined naturally as a pipeline of processing steps. The pipelines are made up by functions in the package WAIT::Filter which is pre-populated by the most common functions but may be extended any time.
The equivalent for a typical freeWAIS-sf processing would be this pipeline:
[ isotr, isolc, split2, stop, Stem]
The function isotr replaces unknown characters by blanks. isolc transforms to lower case. split2 splits into words and removes words shorter than two characters. stop removes the freeWAIS-sf stopwords and Stem applies the Porter algorithm for computing the stem of the words.
The filter definition for a collection defines a set of pipelines for the attributes and modifies the pipelines which should be used for prefix and interval searches.
Several complete working examples come with WAIT in the script directory. It is recommended to follow the pattern of the scripts smakewhatis and sman.
<<lessThe central idea of the system is to provide a framework and the building blocks for any indexing and search system the users might want to build. Obviously the framework limits the class of system which can be build.
+------+ +-----+ +------+
==> |Access| ==> |Parse| ==> | |
+------+ +-----+ | |
|| | | +-----+
|| |Filter| ==> |Index|
/ | | +-----+
+-------+ +-----+ | |
1}, "$_n";
} else {
push @result, {}, "$_n";
}
}
return @result; # we dont go for speed
}
Obviously one could implement split via tag. The reason for having two functions is speed. We need to call split for each document when indexing a collection. Therefore speed is essential. On the other hand, tag is called in order to display a single document and may be a little slower. It may care about tagging bold and italic regions. See WAIT::Parse::Nroff how this might decrease performance.
Filter definition
From the Information Retrieval perspective, the hardest part of the system is the filter module. The database administrator defines for each attribute, how the contents should be processed before it is stored in the index. Usually the processing contains steps to restrict the character set, case transformation, splitting to words and transforming to word stems. In WAIT these steps are defined naturally as a pipeline of processing steps. The pipelines are made up by functions in the package WAIT::Filter which is pre-populated by the most common functions but may be extended any time.
The equivalent for a typical freeWAIS-sf processing would be this pipeline:
[ isotr, isolc, split2, stop, Stem]
The function isotr replaces unknown characters by blanks. isolc transforms to lower case. split2 splits into words and removes words shorter than two characters. stop removes the freeWAIS-sf stopwords and Stem applies the Porter algorithm for computing the stem of the words.
The filter definition for a collection defines a set of pipelines for the attributes and modifies the pipelines which should be used for prefix and interval searches.
Several complete working examples come with WAIT in the script directory. It is recommended to follow the pattern of the scripts smakewhatis and sman.
Download (0.096MB)
Added: 2007-05-16 License: Perl Artistic License Price:
891 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above applies search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed