err
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 39
Interceptor 0.9
Interceptor is a KDE 3.1 kicker applet for syslog monitoring and alerts management. more>>
Syslog is a almost standard UN*X daemon which gathers all the info, errors or critical messages from the local computer or other hosts on the network. For more info about syslog itself, see the corresponding syslog manpages.
Before using Interceptor, you must create 8 fifo files in /var/run/interceptor, (debug, info, notice, warning, err, crit, alert, emerg) and modify the /etc/syslog.conf so that syslog sends its messages in the corresponding fifo for a given level, e.g.
*.debug |/var/run/interceptor/debug
The mkintfifos included script will update /etc/rc.d/rc.sysinit and /etc/syslog.conf for you. When done, restart your computer, install the interceptor applet and load it on the taskbar.
A button appears, which will flash green when a debug, info or notice message occurs, orange when a warning or error message occurs and red when crit, alert or emerg.
If you click on this button, a list of received messages will be displayed.
Interceptor can react to some messages according to a pattern->action scheme with up to 2 argument strings. The available actions are the following ones:
- Beep: Simply issues a beep.
- Message: Displays a dialog box with first arg string as the wanted message and optionnaly executes a shell command when the yes button is clicked. The command itself is contained in the second arg string.
- Redirect: Redirects the current message towards a specific log view.
- Run: Silently runs a shell command contained in arg string 2 and appends arg string 1 at the end of the system messages list.
Remark: if the first argument of a Run alert is null, the first line of the shell command stdout is appended to the messages list, with Info as the level and Interceptor as the source.
The pattern rules obey to the QRegExp syntax. See QRegExp in the Qt documentation for more details. In addition to the standard QRegExp syntax, Interceptor uses pattern groups, i.e. it can retrieve substring enclosed in group parenthesis. Example:
abc(.+)def
This group contains any string enclosed within abc and def. A substitution is made whenever a message matches with a given regexp. The variables $1, $2, $3 and $4 will be replaced with the corresponding pattern group in both arg 1 and arg 2 strings.
the variables $D and $T will be substituted with the current date and time
The patterns are tried against the
level##source!!host%%text
string, where level is debug, info etc..., source is the info source, i.e. kernel, the daemon name, lpr etc..., host is the hostname and text, the text of the message.
You can also choose a better suited icon, such as floppy, network or CDROM icons, for your dialog boxes.
When you select the preferences kicker applet menu, a tab widget will appears, which will allow you to edit the pattern->action rules, and some default options, such as the level colors and number of lines on the messages list box.
Enhancements:
- Aspects Scan list.
- A few bugs fixed.
<<lessBefore using Interceptor, you must create 8 fifo files in /var/run/interceptor, (debug, info, notice, warning, err, crit, alert, emerg) and modify the /etc/syslog.conf so that syslog sends its messages in the corresponding fifo for a given level, e.g.
*.debug |/var/run/interceptor/debug
The mkintfifos included script will update /etc/rc.d/rc.sysinit and /etc/syslog.conf for you. When done, restart your computer, install the interceptor applet and load it on the taskbar.
A button appears, which will flash green when a debug, info or notice message occurs, orange when a warning or error message occurs and red when crit, alert or emerg.
If you click on this button, a list of received messages will be displayed.
Interceptor can react to some messages according to a pattern->action scheme with up to 2 argument strings. The available actions are the following ones:
- Beep: Simply issues a beep.
- Message: Displays a dialog box with first arg string as the wanted message and optionnaly executes a shell command when the yes button is clicked. The command itself is contained in the second arg string.
- Redirect: Redirects the current message towards a specific log view.
- Run: Silently runs a shell command contained in arg string 2 and appends arg string 1 at the end of the system messages list.
Remark: if the first argument of a Run alert is null, the first line of the shell command stdout is appended to the messages list, with Info as the level and Interceptor as the source.
The pattern rules obey to the QRegExp syntax. See QRegExp in the Qt documentation for more details. In addition to the standard QRegExp syntax, Interceptor uses pattern groups, i.e. it can retrieve substring enclosed in group parenthesis. Example:
abc(.+)def
This group contains any string enclosed within abc and def. A substitution is made whenever a message matches with a given regexp. The variables $1, $2, $3 and $4 will be replaced with the corresponding pattern group in both arg 1 and arg 2 strings.
the variables $D and $T will be substituted with the current date and time
The patterns are tried against the
level##source!!host%%text
string, where level is debug, info etc..., source is the info source, i.e. kernel, the daemon name, lpr etc..., host is the hostname and text, the text of the message.
You can also choose a better suited icon, such as floppy, network or CDROM icons, for your dialog boxes.
When you select the preferences kicker applet menu, a tab widget will appears, which will allow you to edit the pattern->action rules, and some default options, such as the level colors and number of lines on the messages list box.
Enhancements:
- Aspects Scan list.
- A few bugs fixed.
Download (0.57MB)
Added: 2005-09-13 License: GPL (GNU General Public License) Price:
1501 downloads
PDL::LinearAlgebra 0.03
PDL::LinearAlgebra Perl module contains linear algebra utils for PDL. more>>
PDL::LinearAlgebra Perl module contains linear algebra utils for PDL.
SYNOPSIS
use PDL::LinearAlgebra;
$a = random (100,100);
($U, $s, $V) = mdsvd($a);
This module provides a convenient interface to PDL::LinearAlgebra::Real and PDL::LinearAlgebra::Complex.
FUNCTIONS
setlaerror
Set action type when error is encountered, returns previous type. Available values are NO, WARN and BARF (predefined constants). If, for example, in computation of the inverse, singularity is detected, the routine can silently return values from computation (see manuals), warn about singularity or barf. BARF is the default value.
$a = sequence(5,5);
$err = setlaerror(NO);
($inv, $info)= minv($a);
if ($info){
# Change the diagonal (the inverse doesnt exist but its an example)
$a->diagonal(0,1)+=1e-8;
($inv, $info)= minv($a);
}
if ($info){
print "Cant compute the inversen";
}
else{
print "Inverse of $a is $inv";
}
setlaerror($err);
getlaerror
Get error type.
0 => NO,
1 => WARN,
2 => BARF
t
PDL = t(PDL, SCALAR(conj))
conj : Conjugate Transpose = 1 | Transpose = 0, default = 1;
Convenient function for transposing real or complex 2D array(s). For PDL::Complex, if conj is true returns conjugate transpose array(s) and doesnt support dataflow. Supports threading.
issym
PDL = issym(PDL, SCALAR|PDL(tol),SCALAR(hermitian))
tol : tolerance value, default: 1e-8 for double else 1e-5
hermitian : Hermitian = 1 | Symmetric = 0, default = 1;
Check symmetricity/Hermitianicity of matrix. Supports threading.
diag
Return i-th diagonal if matrix in entry or matrix with i-th diagonal with entry. I-th diagonal returned flows data back&forth. Can be used as lvalue subs if your perl supports it. Supports threading.
PDL = diag(PDL, SCALAR(i), SCALAR(vector)))
i : i-th diagonal, default = 0
vector : create diagonal matrices by threading over row vectors, default = 0
my $a = random(5,5);
my $diag = diag($a,2);
# If your perl support lvaluable subroutines.
$a->diag(-2) .= pdl(1,2,3);
# Construct a (5,5,5) PDL (5 matrices) with
# diagonals from row vectors of $a
$a->diag(0,1)
tritosym
Return symmetric or Hermitian matrix from lower or upper triangular matrix. Supports inplace and threading. Uses tricpy or ctricpy from Lapack.
PDL = tritosym(PDL, SCALAR(uplo), SCALAR(conj))
uplo : UPPER = 0 | LOWER = 1, default = 0
conj : Hermitian = 1 | Symmetric = 0, default = 1;
# Assume $a is symmetric triangular
my $a = random(10,10);
my $b = tritosym($a);
positivise
Return entry pdl with changed sign by row so that average of positive sign > 0. In other words thread among dimension 1 and row = -row if Sum(sign(row)) < 0. Works inplace.
my $a = random(10,10);
$a -= 0.5;
$a->xchg(0,1)->inplace->positivise;
mcrossprod
Compute the cross-product of two matrix: A x B. If only one matrix is given, take B to be the same as A. Supports threading. Uses crossprod or ccrossprod.
PDL = mcrossprod(PDL(A), (PDL(B))
my $a = random(10,10);
my $crossproduct = mcrossprod($a);
mrank
Compute the rank of a matrix, using a singular value decomposition. from Lapack.
SCALAR = mrank(PDL, SCALAR(TOL))
TOL: tolerance value, default : mnorm(dims(PDL),inf) * mnorm(PDL) * EPS
my $a = random(10,10);
my $b = mrank($a, 1e-5);
mnorm
Compute norm of real or complex matrix Supports threading.
PDL(norm) = mnorm(PDL, SCALAR(ord));
ord :
0|inf : Infinity norm
1|one : One norm
2|two : norm 2 (default)
3|fro : frobenius norm
my $a = random(10,10);
my $norm = mnrom($a);
mdet
Compute determinant of a general square matrix using LU factorization. Supports threading. Uses getrf or cgetrf from Lapack.
PDL(determinant) = mdet(PDL);
my $a = random(10,10);
my $det = mdet($a);
mposdet
Compute determinant of a symmetric or Hermitian positive definite square matrix using Cholesky factorization. Supports threading. Uses potrf or cpotrf from Lapack.
(PDL, PDL) = mposdet(PDL, SCALAR)
SCALAR : UPPER = 0 | LOWER = 1, default = 0
my $a = random(10,10);
my $det = mposdet($a);
mcond
Compute the condition number (two-norm) of a general matrix.
The condition number (two-norm) is defined:
norm (a) * norm (inv (a)).
Uses a singular value decomposition. Supports threading.
PDL = mcond(PDL)
my $a = random(10,10);
my $cond = mcond($a);
mrcond
Estimate the reciprocal condition number of a general square matrix using LU factorization in either the 1-norm or the infinity-norm.
The reciprocal condition number is defined:
1/(norm (a) * norm (inv (a)))
Supports threading.
PDL = mrcond(PDL, SCALAR(ord))
ord :
0 : Infinity norm (default)
1 : One norm
my $a = random(10,10);
my $rcond = mrcond($a,1);
morth
Return an orthonormal basis of the range space of matrix A.
PDL = morth(PDL(A), SCALAR(tol))
tol : tolerance for determining rank, default: 1e-8 for double else 1e-5
my $a = random(10,10);
my $ortho = morth($a, 1e-8);
mnull
Return an orthonormal basis of the null space of matrix A.
PDL = mnull(PDL(A), SCALAR(tol))
tol : tolerance for determining rank, default: 1e-8 for double else 1e-5
my $a = random(10,10);
my $null = mnull($a, 1e-8);
minv
Compute inverse of a general square matrix using LU factorization. Supports inplace and threading. Uses getrf and getri or cgetrf and cgetri from Lapack and return inverse, info in array context.
PDL(inv) = minv(PDL)
my $a = random(10,10);
my $inv = minv($a);
mtriinv
Compute inverse of a triangular matrix. Supports inplace and threading. Uses trtri or ctrtri from Lapack. Returns inverse, info in array context.
(PDL, PDL(info))) = mtriinv(PDL, SCALAR(uplo), SCALAR|PDL(diag))
uplo : UPPER = 0 | LOWER = 1, default = 0
diag : UNITARY DIAGONAL = 1, default = 0
# Assume $a is upper triangular
my $a = random(10,10);
my $inv = mtriinv($a);
<<lessSYNOPSIS
use PDL::LinearAlgebra;
$a = random (100,100);
($U, $s, $V) = mdsvd($a);
This module provides a convenient interface to PDL::LinearAlgebra::Real and PDL::LinearAlgebra::Complex.
FUNCTIONS
setlaerror
Set action type when error is encountered, returns previous type. Available values are NO, WARN and BARF (predefined constants). If, for example, in computation of the inverse, singularity is detected, the routine can silently return values from computation (see manuals), warn about singularity or barf. BARF is the default value.
$a = sequence(5,5);
$err = setlaerror(NO);
($inv, $info)= minv($a);
if ($info){
# Change the diagonal (the inverse doesnt exist but its an example)
$a->diagonal(0,1)+=1e-8;
($inv, $info)= minv($a);
}
if ($info){
print "Cant compute the inversen";
}
else{
print "Inverse of $a is $inv";
}
setlaerror($err);
getlaerror
Get error type.
0 => NO,
1 => WARN,
2 => BARF
t
PDL = t(PDL, SCALAR(conj))
conj : Conjugate Transpose = 1 | Transpose = 0, default = 1;
Convenient function for transposing real or complex 2D array(s). For PDL::Complex, if conj is true returns conjugate transpose array(s) and doesnt support dataflow. Supports threading.
issym
PDL = issym(PDL, SCALAR|PDL(tol),SCALAR(hermitian))
tol : tolerance value, default: 1e-8 for double else 1e-5
hermitian : Hermitian = 1 | Symmetric = 0, default = 1;
Check symmetricity/Hermitianicity of matrix. Supports threading.
diag
Return i-th diagonal if matrix in entry or matrix with i-th diagonal with entry. I-th diagonal returned flows data back&forth. Can be used as lvalue subs if your perl supports it. Supports threading.
PDL = diag(PDL, SCALAR(i), SCALAR(vector)))
i : i-th diagonal, default = 0
vector : create diagonal matrices by threading over row vectors, default = 0
my $a = random(5,5);
my $diag = diag($a,2);
# If your perl support lvaluable subroutines.
$a->diag(-2) .= pdl(1,2,3);
# Construct a (5,5,5) PDL (5 matrices) with
# diagonals from row vectors of $a
$a->diag(0,1)
tritosym
Return symmetric or Hermitian matrix from lower or upper triangular matrix. Supports inplace and threading. Uses tricpy or ctricpy from Lapack.
PDL = tritosym(PDL, SCALAR(uplo), SCALAR(conj))
uplo : UPPER = 0 | LOWER = 1, default = 0
conj : Hermitian = 1 | Symmetric = 0, default = 1;
# Assume $a is symmetric triangular
my $a = random(10,10);
my $b = tritosym($a);
positivise
Return entry pdl with changed sign by row so that average of positive sign > 0. In other words thread among dimension 1 and row = -row if Sum(sign(row)) < 0. Works inplace.
my $a = random(10,10);
$a -= 0.5;
$a->xchg(0,1)->inplace->positivise;
mcrossprod
Compute the cross-product of two matrix: A x B. If only one matrix is given, take B to be the same as A. Supports threading. Uses crossprod or ccrossprod.
PDL = mcrossprod(PDL(A), (PDL(B))
my $a = random(10,10);
my $crossproduct = mcrossprod($a);
mrank
Compute the rank of a matrix, using a singular value decomposition. from Lapack.
SCALAR = mrank(PDL, SCALAR(TOL))
TOL: tolerance value, default : mnorm(dims(PDL),inf) * mnorm(PDL) * EPS
my $a = random(10,10);
my $b = mrank($a, 1e-5);
mnorm
Compute norm of real or complex matrix Supports threading.
PDL(norm) = mnorm(PDL, SCALAR(ord));
ord :
0|inf : Infinity norm
1|one : One norm
2|two : norm 2 (default)
3|fro : frobenius norm
my $a = random(10,10);
my $norm = mnrom($a);
mdet
Compute determinant of a general square matrix using LU factorization. Supports threading. Uses getrf or cgetrf from Lapack.
PDL(determinant) = mdet(PDL);
my $a = random(10,10);
my $det = mdet($a);
mposdet
Compute determinant of a symmetric or Hermitian positive definite square matrix using Cholesky factorization. Supports threading. Uses potrf or cpotrf from Lapack.
(PDL, PDL) = mposdet(PDL, SCALAR)
SCALAR : UPPER = 0 | LOWER = 1, default = 0
my $a = random(10,10);
my $det = mposdet($a);
mcond
Compute the condition number (two-norm) of a general matrix.
The condition number (two-norm) is defined:
norm (a) * norm (inv (a)).
Uses a singular value decomposition. Supports threading.
PDL = mcond(PDL)
my $a = random(10,10);
my $cond = mcond($a);
mrcond
Estimate the reciprocal condition number of a general square matrix using LU factorization in either the 1-norm or the infinity-norm.
The reciprocal condition number is defined:
1/(norm (a) * norm (inv (a)))
Supports threading.
PDL = mrcond(PDL, SCALAR(ord))
ord :
0 : Infinity norm (default)
1 : One norm
my $a = random(10,10);
my $rcond = mrcond($a,1);
morth
Return an orthonormal basis of the range space of matrix A.
PDL = morth(PDL(A), SCALAR(tol))
tol : tolerance for determining rank, default: 1e-8 for double else 1e-5
my $a = random(10,10);
my $ortho = morth($a, 1e-8);
mnull
Return an orthonormal basis of the null space of matrix A.
PDL = mnull(PDL(A), SCALAR(tol))
tol : tolerance for determining rank, default: 1e-8 for double else 1e-5
my $a = random(10,10);
my $null = mnull($a, 1e-8);
minv
Compute inverse of a general square matrix using LU factorization. Supports inplace and threading. Uses getrf and getri or cgetrf and cgetri from Lapack and return inverse, info in array context.
PDL(inv) = minv(PDL)
my $a = random(10,10);
my $inv = minv($a);
mtriinv
Compute inverse of a triangular matrix. Supports inplace and threading. Uses trtri or ctrtri from Lapack. Returns inverse, info in array context.
(PDL, PDL(info))) = mtriinv(PDL, SCALAR(uplo), SCALAR|PDL(diag))
uplo : UPPER = 0 | LOWER = 1, default = 0
diag : UNITARY DIAGONAL = 1, default = 0
# Assume $a is upper triangular
my $a = random(10,10);
my $inv = mtriinv($a);
Download (0.12MB)
Added: 2007-06-27 License: Perl Artistic License Price:
849 downloads
Search::QueryParser 0.91
Search::QueryParser parses a query string into a data structure suitable for external search engines. more>>
Search::QueryParser parses a query string into a data structure suitable for external search engines.
SYNOPSIS
my $qp = new Search::QueryParser;
my $s = +mandatoryWord -excludedWord +field:word "exact phrase";
my $query = $qp->parse($s) or die "Error in query : " . $qp->err;
$someIndexer->search($query);
# query with comparison operators and implicit plus (second arg is true)
$query = $qp->parse("txt~^foo.* date>=01.01.2001 date<<less
SYNOPSIS
my $qp = new Search::QueryParser;
my $s = +mandatoryWord -excludedWord +field:word "exact phrase";
my $query = $qp->parse($s) or die "Error in query : " . $qp->err;
$someIndexer->search($query);
# query with comparison operators and implicit plus (second arg is true)
$query = $qp->parse("txt~^foo.* date>=01.01.2001 date<<less
Download (0.007MB)
Added: 2006-06-15 License: Perl Artistic License Price:
1226 downloads
ModPerl::ParamBuilder 0.08
ModPerl::ParamBuilder is a Perl module that makes building custom Apache directives easy. more>>
ModPerl::ParamBuilder is a Perl module that makes building custom Apache directives easy.
SYNOPSIS
package MyApp::Parameters;
use ModPerl::ParamBuilder;
use base qw( ModPerl::ParamBuilder );
my $builder = ModPerl::ParamBuilder->new( __PACKAGE__ );
# Build simple one argument parameter
$builder->param( Template );
$builder->param( PageTitle );
$builder->param( ItemsPerPage );
# Build an On/Off parameter
$builder->on_off( Caching );
# Build a Yes/No parameter
$builder->yes_no( AutoCommit );
# Build a no argument/flag parameter
$builder->no_arg( Active );
# Build a one argument parameter with a custom error message
# and special configuration hash key
$builder->param( {
name => SMTPServer,
err => SMTPServer xx.xx.xx.xx,
key => smtp_server,
});
# Load the configuration into Apache
$builder->load;
################################################
# And elsewhere in your application
################################################
package MyApp::Main;
# Retrieve the configuration like so
my $params = MyApp::Parameters->new;
my $conf_ref = $params->get_config( $r );
# Or if you have PerlOptions +GlobalRequest on then you can just
# call
my $conf_ref = $params->get_config;
One of the neatest features of mod_perl 2.0 is the ability to easily create your own custom Apache directives. Not only are they more efficient to use compared to PerlSetEnv, PerlPassEnv, PerlAddVar, and PerlSetVar, but they give your application a more polished and professional look and feel..
Not to mention theyre just plain cool. This module aims to make the already easy, even easier.
Note that you MUST load your parameter module with PerlLoadModule in your httpd.conf and not PerlModule. This is necessary because Apache needs to load your module earlier than usual in the startup to be able to read its own configuration now.
LIMITATIONS
The biggest limitation is that this module ONLY works with mod_perl 2.0 and above. There are no plans to support mod_perl 1.x for this module, trust me you want to upgrade to mod_perl 2 as soon as you can.
This modules intent is not to replace the underlying mod_perl APIs nor is it intended to be used for complicated cases where special processing is needed. It is intended to make the simple things simple.
Some things to keep in mind when using ModPerl::ParamBuilder
This module does not restrict where the directives can be used in Apaches httpd.conf. To restrict directives to particular area ( only in main server conf, a VirtualHost, or a Location, etc ) you will need to use the mod_perl APIs to build your directives.
This also does not do, by default, any error checking or validation on the arguments passed to directives. If you create a directive NumberOfItemsPerPage and then put:
NumberOfItemsPerPage rhubarb
Apache will not see this as an error and your configuration hash for the key NumberOfItemsPerPage will contain the string rhubarb. You can validate this data in three different ways:
1) Validate the configuration data in your application prior to
using it.
2) Instruct ModPerl::ParamBuilder to use a special function for
processing the arguments by passing the func option.
3) Revert to using the mod_perl API where you have more control.
See the appropriate mod_perl 2.0 API modules for how to accomplish more in depth processing of directives and their data.
<<lessSYNOPSIS
package MyApp::Parameters;
use ModPerl::ParamBuilder;
use base qw( ModPerl::ParamBuilder );
my $builder = ModPerl::ParamBuilder->new( __PACKAGE__ );
# Build simple one argument parameter
$builder->param( Template );
$builder->param( PageTitle );
$builder->param( ItemsPerPage );
# Build an On/Off parameter
$builder->on_off( Caching );
# Build a Yes/No parameter
$builder->yes_no( AutoCommit );
# Build a no argument/flag parameter
$builder->no_arg( Active );
# Build a one argument parameter with a custom error message
# and special configuration hash key
$builder->param( {
name => SMTPServer,
err => SMTPServer xx.xx.xx.xx,
key => smtp_server,
});
# Load the configuration into Apache
$builder->load;
################################################
# And elsewhere in your application
################################################
package MyApp::Main;
# Retrieve the configuration like so
my $params = MyApp::Parameters->new;
my $conf_ref = $params->get_config( $r );
# Or if you have PerlOptions +GlobalRequest on then you can just
# call
my $conf_ref = $params->get_config;
One of the neatest features of mod_perl 2.0 is the ability to easily create your own custom Apache directives. Not only are they more efficient to use compared to PerlSetEnv, PerlPassEnv, PerlAddVar, and PerlSetVar, but they give your application a more polished and professional look and feel..
Not to mention theyre just plain cool. This module aims to make the already easy, even easier.
Note that you MUST load your parameter module with PerlLoadModule in your httpd.conf and not PerlModule. This is necessary because Apache needs to load your module earlier than usual in the startup to be able to read its own configuration now.
LIMITATIONS
The biggest limitation is that this module ONLY works with mod_perl 2.0 and above. There are no plans to support mod_perl 1.x for this module, trust me you want to upgrade to mod_perl 2 as soon as you can.
This modules intent is not to replace the underlying mod_perl APIs nor is it intended to be used for complicated cases where special processing is needed. It is intended to make the simple things simple.
Some things to keep in mind when using ModPerl::ParamBuilder
This module does not restrict where the directives can be used in Apaches httpd.conf. To restrict directives to particular area ( only in main server conf, a VirtualHost, or a Location, etc ) you will need to use the mod_perl APIs to build your directives.
This also does not do, by default, any error checking or validation on the arguments passed to directives. If you create a directive NumberOfItemsPerPage and then put:
NumberOfItemsPerPage rhubarb
Apache will not see this as an error and your configuration hash for the key NumberOfItemsPerPage will contain the string rhubarb. You can validate this data in three different ways:
1) Validate the configuration data in your application prior to
using it.
2) Instruct ModPerl::ParamBuilder to use a special function for
processing the arguments by passing the func option.
3) Revert to using the mod_perl API where you have more control.
See the appropriate mod_perl 2.0 API modules for how to accomplish more in depth processing of directives and their data.
Download (0.008MB)
Added: 2006-09-02 License: Perl Artistic License Price:
1148 downloads
Loggerithim 7.0.1
Loggerithim is a monitoring package. more>>
Loggerithim is an extensible monitoring and remote management package. It allows you to monitor your systems, proactively spot problems, remotely manage, perform post-mortems, throw alerts when bad things happen, predict future needs, and automate adminstration tasks.
Enhancements:
- Preload page templates
- Switch to cache from shared_cache for template caching
- Fix bug creating or editing a resource group
- Use ERR rather than ERROR for syslog calls
- Show proper department and system when editing a host
- Eliminate unecessary code in host save handling
- Clean up part of Element code by reducing indirection
- Fix missing notification id in manipnotification
- Get rid of unecessary code in notification editing
- Update removelrhost.pl to new objects
<<lessEnhancements:
- Preload page templates
- Switch to cache from shared_cache for template caching
- Fix bug creating or editing a resource group
- Use ERR rather than ERROR for syslog calls
- Show proper department and system when editing a host
- Eliminate unecessary code in host save handling
- Clean up part of Element code by reducing indirection
- Fix missing notification id in manipnotification
- Get rid of unecessary code in notification editing
- Update removelrhost.pl to new objects
Download (0.13MB)
Added: 2005-04-07 License: GPL (GNU General Public License) Price:
1661 downloads
SQL::Preproc 0.10
SQL::Preproc is a Perl module to embed SQL in your Perl (ala SQL preprocessors). more>>
SQL::Preproc is a Perl module to embed SQL in your Perl (ala SQL preprocessors).
SYNOPSIS
use SQL::Preproc
subclass => Chart,
emit => 1,
keepsql => 1,
syntax => [ Teradata ],
pponly => 1,
relax => 1,
alias => 1,
debug => 1;
use DBI;
use DBI qw(:sql_types);
use SQL::Preproc::ExceptContainer;
use DBIx::Chart;
...some code...
my ($host, $user, $passwd) = @ARGV;
DECLARE CONTEXT $sqlpp_ctxt;
CONNECT TO "Teradata:$host"
USER $userid IDENTIFIED BY $passwd AS myconn WITH tdat_mode => ANSI;
my $more_rows;
WHENEVER NOTFOUND { $more_rows = undef }
WHENEVER SQLERROR {
my ($ctxt, $err, $state, $errmsg) = @_;
die $errmsg;
}
DECLARE CURSOR mycursor AS
SELECT * FROM mytable FOR UPDATE;
OPEN mycursor;
my ($col1, $col2, $col3, $col4);
while ($more_rows) {
FETCH mycursor INTO :$col1, :$col2, :$col3, :$col4;
if ($col1 > $col4) {
UPDATE mytable SET col4 = col4 + 100
WHERE CURRENT OF mycursor;
}
}
CLOSE mycursor;
#
# do a bulkload via array binding
#
my @col1 = ();
my @col2 = ();
my @col3 = ();
#
# load some data into the arrays, then send it to the DBMS
#
EXEC SQL INSERT INTO sometable VALUES(:@col1, :@col2, :@col3);
#
# now create a chart, dumping results to @_
#
SELECT * FROM mytable
RETURNING LINEGRAPH(*), IMAGEMAP
WHERE WIDTH=500
AND HEIGHT=500
AND FORMAT=PNG
AND LOGO=myimage.png
AND X_AXIS=Date
AND Y_AXIS=Stock Price
AND MAPNAME=stockmap
AND SIGNATURE=GOWI Systems, Inc.
AND SHOWPOINTS=1
AND POINT=opencircle;
open(OUTF, >mychart.png) || die $!;
binmode OUTF;
print OUTF, $_[0];
close OUTF;
open(OUTF, >mychart.map) || die $!;
print OUTF, $_[1];
close OUTF;
DISCONNECT myconn;
<<lessSYNOPSIS
use SQL::Preproc
subclass => Chart,
emit => 1,
keepsql => 1,
syntax => [ Teradata ],
pponly => 1,
relax => 1,
alias => 1,
debug => 1;
use DBI;
use DBI qw(:sql_types);
use SQL::Preproc::ExceptContainer;
use DBIx::Chart;
...some code...
my ($host, $user, $passwd) = @ARGV;
DECLARE CONTEXT $sqlpp_ctxt;
CONNECT TO "Teradata:$host"
USER $userid IDENTIFIED BY $passwd AS myconn WITH tdat_mode => ANSI;
my $more_rows;
WHENEVER NOTFOUND { $more_rows = undef }
WHENEVER SQLERROR {
my ($ctxt, $err, $state, $errmsg) = @_;
die $errmsg;
}
DECLARE CURSOR mycursor AS
SELECT * FROM mytable FOR UPDATE;
OPEN mycursor;
my ($col1, $col2, $col3, $col4);
while ($more_rows) {
FETCH mycursor INTO :$col1, :$col2, :$col3, :$col4;
if ($col1 > $col4) {
UPDATE mytable SET col4 = col4 + 100
WHERE CURRENT OF mycursor;
}
}
CLOSE mycursor;
#
# do a bulkload via array binding
#
my @col1 = ();
my @col2 = ();
my @col3 = ();
#
# load some data into the arrays, then send it to the DBMS
#
EXEC SQL INSERT INTO sometable VALUES(:@col1, :@col2, :@col3);
#
# now create a chart, dumping results to @_
#
SELECT * FROM mytable
RETURNING LINEGRAPH(*), IMAGEMAP
WHERE WIDTH=500
AND HEIGHT=500
AND FORMAT=PNG
AND LOGO=myimage.png
AND X_AXIS=Date
AND Y_AXIS=Stock Price
AND MAPNAME=stockmap
AND SIGNATURE=GOWI Systems, Inc.
AND SHOWPOINTS=1
AND POINT=opencircle;
open(OUTF, >mychart.png) || die $!;
binmode OUTF;
print OUTF, $_[0];
close OUTF;
open(OUTF, >mychart.map) || die $!;
print OUTF, $_[1];
close OUTF;
DISCONNECT myconn;
Download (0.051MB)
Added: 2007-03-01 License: Perl Artistic License Price:
967 downloads
VCS::CMSynergy 1.29
VCS::CMSynergy is a Perl interface to Telelogic SYNERGY/CM (aka Continuus/CM). more>>
VCS::CMSynergy is a Perl interface to Telelogic SYNERGY/CM (aka Continuus/CM).
SYNOPSIS
use VCS::CMSynergy;
$ccm = VCS::CMSynergy->new(%attr);
($rc, $out, $err) = $ccm->ccm($ccm_command, @ccm_args);
($rc, $out, $err) = $ccm->any_ccm_command(@ccm_args);
$ary_ref = $ccm->query(@ccm_args);
$ary_ref = $ccm->query_arrayref($query, @keywords);
$ary_ref = $ccm->query_hashref($query, @keywords);
$ary_ref = $ccm->query_object($query, @keywords);
$ary_ref = $ccm->finduse(@args);
$path = $ccm->findpath($file_spec, $proj_vers);
$ary_ref = $ccm->history(@ccm_args);
$ary_ref = $ccm->history_arrayref($file_spec, @keywords);
$ary_ref = $ccm->history_hashref($file_spec, @keywords);
$ary_ref = $ccm->ls(@ccm_args);
$ary_ref = $ccm->ls_object($file_spec);
$ary_ref = $ccm->ls_arrayref($file_spec, @keywords);
$ary_ref = $ccm->ls_hashref($file_spec, @keywords);
$value = $ccm->get_attribute($attr_name, $file_spec);
$ccm->set_attribute($attr_name, $file_spec, $value);
$hash_ref = $ccm->list_attributes($file_spec);
$delim = $ccm->delimiter;
$database = $ccm->database;
$ENV{CCM_ADDR} = $ccm->ccm_addr;
This synopsis only lists the major methods.
Methods that dont need a CM Synergy session are described in VCS::CMSynergy::Client. In fact, VCS::CMSynergy is derived from VCS::CMSynergy::Client.
Methods for administering users and their roles are described in VCS::CMSynergy::Users.
<<lessSYNOPSIS
use VCS::CMSynergy;
$ccm = VCS::CMSynergy->new(%attr);
($rc, $out, $err) = $ccm->ccm($ccm_command, @ccm_args);
($rc, $out, $err) = $ccm->any_ccm_command(@ccm_args);
$ary_ref = $ccm->query(@ccm_args);
$ary_ref = $ccm->query_arrayref($query, @keywords);
$ary_ref = $ccm->query_hashref($query, @keywords);
$ary_ref = $ccm->query_object($query, @keywords);
$ary_ref = $ccm->finduse(@args);
$path = $ccm->findpath($file_spec, $proj_vers);
$ary_ref = $ccm->history(@ccm_args);
$ary_ref = $ccm->history_arrayref($file_spec, @keywords);
$ary_ref = $ccm->history_hashref($file_spec, @keywords);
$ary_ref = $ccm->ls(@ccm_args);
$ary_ref = $ccm->ls_object($file_spec);
$ary_ref = $ccm->ls_arrayref($file_spec, @keywords);
$ary_ref = $ccm->ls_hashref($file_spec, @keywords);
$value = $ccm->get_attribute($attr_name, $file_spec);
$ccm->set_attribute($attr_name, $file_spec, $value);
$hash_ref = $ccm->list_attributes($file_spec);
$delim = $ccm->delimiter;
$database = $ccm->database;
$ENV{CCM_ADDR} = $ccm->ccm_addr;
This synopsis only lists the major methods.
Methods that dont need a CM Synergy session are described in VCS::CMSynergy::Client. In fact, VCS::CMSynergy is derived from VCS::CMSynergy::Client.
Methods for administering users and their roles are described in VCS::CMSynergy::Users.
Download (0.11MB)
Added: 2007-05-04 License: Perl Artistic License Price:
904 downloads
File::Signature 1.009
File::Signature is a Perl module to detect changes to a files content or attributes. more>>
File::Signature is a Perl module to detect changes to a files content or attributes.
SYNOPSIS
use File::Signature;
my $sig = File::Signature->new(/some/file);
# If you have a stringified signature stored in $string
# you can create a File::Signature object from it.
my $sig = File::Signature->new_from_string($string);
if (my $err = $sig->error) {
warn $err, "n";
}
# You can use a signature object to re-check the same file.
if ( $sig->is_same() ) { print "Ok. The signature is the same.n" }
if ( $sig->changed() ) { print "Uh Oh! The signature has changed.n" }
my @digests = $sig->old_and_new(digest);
my @inodes = $sig->old_and_new(ino);
my @modes = $sig->old_and_new(mode);
my @uid = $sig->old_and_new(uid);
my @gid = $sig->old_and_new(gid);
my @mtime = $sig->old_and_new(mtime);
# A slightly more worthwhile use...
my @fields = $sig->changed();
for my $field (@fields) {
printf "$field was: %s but changed to %s.n",
$sig->old_and_new($field);
}
ABSTRACT
This perl library uses perl5 objects to assist in determining whether a files contents or attributes have changed. It maintains several pieces of information about the file: a digest (currently only MD5 is supported), its inode number, its mode, the uid of its owner, the gid of its group owner, and its last modification time. A File::Signature object is closely associated with a single pathname. It provides a way to compare the state of a file over different points in time; it isnt useful for comparing different files.
This module provides a way to monitor files for changes. It implements an object oriented interface to file "signatures." In the case of this module, a signature includes an MD5 digest (other digests may be added later), the files size, its inode number, its mode, its owners uid, its groups gid, and its mtime. This information is associated with a file by the files "pathname." The pathname is considered to be the files unique identifier. In reality, a file may have more than one pathname, but this module doesnt recognize that.
It will simply treat two differing pathnames as two different files, even if they refer to the same file. As this module checks whether a file changes over time, a minimal use of it would include the time when the signature was created and a different time when the signature is regenerated and compared with the previous one. The amount of time between these checks is arbitrary. This module makes it easy to save a signature object and then load it and check for consistency at a later time, whether seconds or years have passed.
<<lessSYNOPSIS
use File::Signature;
my $sig = File::Signature->new(/some/file);
# If you have a stringified signature stored in $string
# you can create a File::Signature object from it.
my $sig = File::Signature->new_from_string($string);
if (my $err = $sig->error) {
warn $err, "n";
}
# You can use a signature object to re-check the same file.
if ( $sig->is_same() ) { print "Ok. The signature is the same.n" }
if ( $sig->changed() ) { print "Uh Oh! The signature has changed.n" }
my @digests = $sig->old_and_new(digest);
my @inodes = $sig->old_and_new(ino);
my @modes = $sig->old_and_new(mode);
my @uid = $sig->old_and_new(uid);
my @gid = $sig->old_and_new(gid);
my @mtime = $sig->old_and_new(mtime);
# A slightly more worthwhile use...
my @fields = $sig->changed();
for my $field (@fields) {
printf "$field was: %s but changed to %s.n",
$sig->old_and_new($field);
}
ABSTRACT
This perl library uses perl5 objects to assist in determining whether a files contents or attributes have changed. It maintains several pieces of information about the file: a digest (currently only MD5 is supported), its inode number, its mode, the uid of its owner, the gid of its group owner, and its last modification time. A File::Signature object is closely associated with a single pathname. It provides a way to compare the state of a file over different points in time; it isnt useful for comparing different files.
This module provides a way to monitor files for changes. It implements an object oriented interface to file "signatures." In the case of this module, a signature includes an MD5 digest (other digests may be added later), the files size, its inode number, its mode, its owners uid, its groups gid, and its mtime. This information is associated with a file by the files "pathname." The pathname is considered to be the files unique identifier. In reality, a file may have more than one pathname, but this module doesnt recognize that.
It will simply treat two differing pathnames as two different files, even if they refer to the same file. As this module checks whether a file changes over time, a minimal use of it would include the time when the signature was created and a different time when the signature is regenerated and compared with the previous one. The amount of time between these checks is arbitrary. This module makes it easy to save a signature object and then load it and check for consistency at a later time, whether seconds or years have passed.
Download (0.008MB)
Added: 2007-04-30 License: Perl Artistic License Price:
909 downloads
Azuki Framework 1.0.1
Azuki Framework is a Java application framework designed to resolve various problems in the software development lifecycle. more>>
Azuki Framework project is a Java application framework designed to resolve various problems in the software development lifecycle. These goals are achieved by splitting the software conception into two main stages: creation of independent components and definition of component dependencies (weaving).
The latter is performed with a graphical tool named "the weaver". By representing component interactions using different perspectives, the weaver provides a straightforward way to analyze an applications architecture, allowing deep and easy customization of its behavior.
Whats New in This Release:
azuki-ant
(ADD) Copy $beanproject/tools into $dist/tools directory when deploying
bean.
(ADD) Additional sources files could be specified into checkbuildXXX
macros.
azuki-common
(FIX) Missing characters into StringUtil.splitQuote().
(ADD) SQL_MAX_ROWS global variable for sql query limitation.
(ADD) SQL utility class.
(ADD) Possibility to enable/disable filters on document and text fields.
azuki-framework
(FIX) New method to retrieve framework version.
azuki-weaver
(FIX) Dont show Definition menu entry in pointcut popup menu.
(FIX) Enable status was not displayed correctly into schemas.
(FIX) Check if bean instance is duplicated before renaming.
(FIX) Automatically set a new label when pasting a bean instance.
dist
(FIX) Do not start azuki shell server by default (kernel.xml).
(FIX) Invalid commons-codec library name in CLASSPATH.
(FIX) Set up JNDI and SOAP implementation in shell script .sh and .bat.
(ADD) Create directory $dist/tools.
bean-apportal
(FIX) Display framework version.
(FIX) Bean indentifier retrieval doesnt take care of root context.
bean-gwt
(DEL) Removed, will be included from future 1.1 branch releases.
bean-injection
(FIX) Add some comments.
(FIX) Include arrays in method parameters conversion.
(FIX) Include primitive types in method parameters conversion.
bean-logger
(FIX) Take care to not close the System.err stream when using the
java.util.logging API.
(FIX) Move SQL sources into tools directory.
bean-requesthandler
(FIX) Use the servlet context path for set up the base URI.
(FIX) Throws exception when trying to bind an already binded URI.
bean-shell
(FIX) Null pointer while searching bean metadata in TCP request processing.
(FIX) Move C program sources into tools directory.
<<lessThe latter is performed with a graphical tool named "the weaver". By representing component interactions using different perspectives, the weaver provides a straightforward way to analyze an applications architecture, allowing deep and easy customization of its behavior.
Whats New in This Release:
azuki-ant
(ADD) Copy $beanproject/tools into $dist/tools directory when deploying
bean.
(ADD) Additional sources files could be specified into checkbuildXXX
macros.
azuki-common
(FIX) Missing characters into StringUtil.splitQuote().
(ADD) SQL_MAX_ROWS global variable for sql query limitation.
(ADD) SQL utility class.
(ADD) Possibility to enable/disable filters on document and text fields.
azuki-framework
(FIX) New method to retrieve framework version.
azuki-weaver
(FIX) Dont show Definition menu entry in pointcut popup menu.
(FIX) Enable status was not displayed correctly into schemas.
(FIX) Check if bean instance is duplicated before renaming.
(FIX) Automatically set a new label when pasting a bean instance.
dist
(FIX) Do not start azuki shell server by default (kernel.xml).
(FIX) Invalid commons-codec library name in CLASSPATH.
(FIX) Set up JNDI and SOAP implementation in shell script .sh and .bat.
(ADD) Create directory $dist/tools.
bean-apportal
(FIX) Display framework version.
(FIX) Bean indentifier retrieval doesnt take care of root context.
bean-gwt
(DEL) Removed, will be included from future 1.1 branch releases.
bean-injection
(FIX) Add some comments.
(FIX) Include arrays in method parameters conversion.
(FIX) Include primitive types in method parameters conversion.
bean-logger
(FIX) Take care to not close the System.err stream when using the
java.util.logging API.
(FIX) Move SQL sources into tools directory.
bean-requesthandler
(FIX) Use the servlet context path for set up the base URI.
(FIX) Throws exception when trying to bind an already binded URI.
bean-shell
(FIX) Null pointer while searching bean metadata in TCP request processing.
(FIX) Move C program sources into tools directory.
Download (11.5MB)
Added: 2007-08-08 License: LGPL (GNU Lesser General Public License) Price:
809 downloads
Apache::Wyrd::Bot 0.93
Apache::Wyrd::Bot provides a class of objects which operate in the background and independent of the apache process. more>>
Apache::Wyrd::Bot provides a class of objects which operate in the background and independent of the apache process, while being monitored in a browser window. This is useful for showing updates to a time-consuming process, such as building an index or converting a file between different formats.
Because it uses HTML http-equivalent metadata to trigger the browser reload, it should always be the outermost Wyrd on an HTML page.
Bot uses the default UNIX shell and the machine filesystem to communicate with the apache process. If another instance of the bot is launched, this will be detected, and the browser will continue to follow the previous instance.
Unlike other Wyrds, Bots have two methods of being invoked. One is via the shell, using /path/to/perl -MBOTCLASSNAME -ego. This ultimately invokes the _work method. The other is via the traditional Wyrd route, and creates the reloading page.
HTML ATTRIBUTES
basefile
(Required, absolute path) The "base" file location for the bot to store its process ID, output, and error log. These will be files with this base name plus .pid, .out, and .err respectively. They must be readable and writeable by the apache process. Note that they do not need to be in a browser accessible place on the filesystem.
pidfile, errfile, outfile
Absolute pathnames for the files normally derived from basefile can be specified, if necessary.
refresh
How many seconds between browser refreshes. Default is 2.
expire
If the user does not wait for the bot to complete and instead closes the browser window, the previous instance will not have its results automatically removed. This parameter defines how old the results should be before a completely new instance is invoked. The default is 30 seconds, but it shouldnt be much less than this.
perl
Absolute path to the perl executeable. Bot will attempt to determine this itself, but it is best if it is explicitly declared.
Flags
raw
Use when output is not HTML. Causes the Wyrd to use
reverse
Display the lines of the output file in reverse.
<<lessBecause it uses HTML http-equivalent metadata to trigger the browser reload, it should always be the outermost Wyrd on an HTML page.
Bot uses the default UNIX shell and the machine filesystem to communicate with the apache process. If another instance of the bot is launched, this will be detected, and the browser will continue to follow the previous instance.
Unlike other Wyrds, Bots have two methods of being invoked. One is via the shell, using /path/to/perl -MBOTCLASSNAME -ego. This ultimately invokes the _work method. The other is via the traditional Wyrd route, and creates the reloading page.
HTML ATTRIBUTES
basefile
(Required, absolute path) The "base" file location for the bot to store its process ID, output, and error log. These will be files with this base name plus .pid, .out, and .err respectively. They must be readable and writeable by the apache process. Note that they do not need to be in a browser accessible place on the filesystem.
pidfile, errfile, outfile
Absolute pathnames for the files normally derived from basefile can be specified, if necessary.
refresh
How many seconds between browser refreshes. Default is 2.
expire
If the user does not wait for the bot to complete and instead closes the browser window, the previous instance will not have its results automatically removed. This parameter defines how old the results should be before a completely new instance is invoked. The default is 30 seconds, but it shouldnt be much less than this.
perl
Absolute path to the perl executeable. Bot will attempt to determine this itself, but it is best if it is explicitly declared.
Flags
raw
Use when output is not HTML. Causes the Wyrd to use
to enclose the output of the Bot.
reverse
Display the lines of the output file in reverse.
Download (0.12MB)
Added: 2006-10-11 License: Perl Artistic License Price:
1109 downloads
JEXN 0.1.1
JEXN project is a simple, yet powerful java class that can be added to any Java 1.3 or later application. more>>
JEXN project is a simple, yet powerful java class that can be added to any Java 1.3 or later application.
In the unfortunate event that the application crashes the virtual machine redirects the System.err stream to a small JSX (Java Serialisation to XML) powered server application.
The server then forwards the exception stacktrace on to a user specified email address.
Enhancements:
- Added to field email validation.
- Enabled user specification of email subject and from fields and the name of the application JEXN monitors.
<<lessIn the unfortunate event that the application crashes the virtual machine redirects the System.err stream to a small JSX (Java Serialisation to XML) powered server application.
The server then forwards the exception stacktrace on to a user specified email address.
Enhancements:
- Added to field email validation.
- Enabled user specification of email subject and from fields and the name of the application JEXN monitors.
Download (0.087MB)
Added: 2007-07-03 License: GPL (GNU General Public License) Price:
844 downloads
fetchExc 2.0
fetchExc is a Java utility for fetching mail with WebDAV from MS Exchange 2000/2003 servers. more>>
fetchExc project is java utilily which retrieves mail from your MS Exchange (2000/2003) inbox and forwards it to SMTP server of your choice or mbox type file.
FetchExc uses webDAV (OWA) to retrieve mail either over http or https. This is also means that you administrator must have left Outlook Webaccess available in Exchange in order to get this utility to work.
Although version number is still below 1.0 I consider this program usable in production environment.
There are still many places that should be polished and improved but atleast there havent been major problems in over an half a year. Before you install read installation instructions from below carefully.
Installing:
So far this only covers *nix systems (windows instructions may follow if they are needed)
Extract fetchExc-*.tar.gz or make directory for fetchExc.jar. If you are downloading Jakarta components yourself put them in the same directory as fetchExc.jar.
Create fetchExc.properties file in your home directory. Remember to protect it with chmod 700 (it contains your password). If you took .tar.gz package there should be example included.
ExchangeServer=xxx.dddddd.com
ExchangePath=exchange
ExchangeUser=exuser
MailServer=yyy.dddddd.com
DestinationAddress=user@yyy.dddddd.com
Username=domainuser
Password=domainpassword
Domain=DOMAIN
Delete=false
All=false
Secure=true
FBApath=/exchweb/bin/auth/owaauth.dll
ExchangeServer - Name of your MS Exchange server.
ExchangePath - Exchange path for MS Exchange OutLook WebAccess.
ExchangeUser - Name of you MS Exchange User.
You can test first three properties by making URL out of them: http://xxx.dddddd.com/exchange/exuser. This should give you a Outlook Webaccess Page.
MboxFile - Path and name of mbox-type mail box. This disables MailServer- and DestinationAddress-properties. Be careful with this because Im not 100% sure that file locking works (YMMV). If there are problems let me know. Also success reports would be nice.
MailServer - Name of your SMTP Server which receives forwarded messages. If there is MboxFile defined this property wont be used.
DestinationAddess - Address of recipient of forwarded messages. If there is MboxFile defined this property wont be used.
Username - Username for your windows domain user. It may be same as ExchangeUser but necessarily.
Password - Password for domain user.
Domain - Domain for above user.
Delete - Whether program should delete mail from Inbox or just mark them as read. If Delete is true mail will be deleted after succesful forwarding. Any other value will just mark message as read. While you are configuring other properties I strongly recommend that you use value false for this property.
All - Whether program should real all mail from Inbox or just which are not read yet. If All is true every mail will be read. Any other value will read only unread mail. While you are configuring other properties I strongly recommend that you use value false for this property.
WARNING!!! Dont combine Delete=false and All=true if you are not testing. That will fetch every mail from your Inbox everytime you start the program.
Secure - If value is true program will use https. Any other value will use http. Https should be user whenever possible.
FBApath - Path to form based authentication. If not set defaults to /exchweb/bin/auth/owaauth.dll. This can be found on FBA login page source (hint: search for "destination")
ForceFrom - If this is set to true forwarded mail will be forwarded with address from ForceFromAddr parameter. This only happens when sender address is not valid. For example if there is two From: fields in mail header Exchange can join addresses. NOTE: This may help spam to get through so use carefully.
ForceFromAddr - E-mail address that forwarding server will accept. Only used if ForceFrom is true
NoEightBitMime - If this is true SMTP forwarding doesnt use BODY=8BITMIME. Default is false.
Now you just need to include JRE in you path. If it is in you path you can run program:
java -jar /install/fetchExc/fetchExc.jar
You can now (>0.80) use -p switch to change properties file. For example:
java -jar /install/fetchExc/fetchExc.jar -p test.properties
would run program using properties from test.properties
I use fetchExc with following little shell script and crontab entry so that it keeps fetching mail every two minutes.
fetchExc
#!/bin/bash
export PATH=$PATH:/usr/local/jre/bin
java -jar /install/fetchExc/fetchExc.jar $* >> fetchExc.log 2>> fetchExc.err
If you use this script replace /usr/local/jre/bin with path to your java runtime environment. Same applies to location of your installation on next line.
crontab entry:
*/2 * * * * ~jrauti/bin/fetchExc
Enhancements:
- Java has been changed from 1.4 to 1.5.
- The Jakarta HHTTP client has been upgraded from 2.0 to 3.0.
- Proxying also works with HTTPS.
- Code cleanups.
- A small fix in mbox saving (in Mac OS X, messages were coalesced).
<<lessFetchExc uses webDAV (OWA) to retrieve mail either over http or https. This is also means that you administrator must have left Outlook Webaccess available in Exchange in order to get this utility to work.
Although version number is still below 1.0 I consider this program usable in production environment.
There are still many places that should be polished and improved but atleast there havent been major problems in over an half a year. Before you install read installation instructions from below carefully.
Installing:
So far this only covers *nix systems (windows instructions may follow if they are needed)
Extract fetchExc-*.tar.gz or make directory for fetchExc.jar. If you are downloading Jakarta components yourself put them in the same directory as fetchExc.jar.
Create fetchExc.properties file in your home directory. Remember to protect it with chmod 700 (it contains your password). If you took .tar.gz package there should be example included.
ExchangeServer=xxx.dddddd.com
ExchangePath=exchange
ExchangeUser=exuser
MailServer=yyy.dddddd.com
DestinationAddress=user@yyy.dddddd.com
Username=domainuser
Password=domainpassword
Domain=DOMAIN
Delete=false
All=false
Secure=true
FBApath=/exchweb/bin/auth/owaauth.dll
ExchangeServer - Name of your MS Exchange server.
ExchangePath - Exchange path for MS Exchange OutLook WebAccess.
ExchangeUser - Name of you MS Exchange User.
You can test first three properties by making URL out of them: http://xxx.dddddd.com/exchange/exuser. This should give you a Outlook Webaccess Page.
MboxFile - Path and name of mbox-type mail box. This disables MailServer- and DestinationAddress-properties. Be careful with this because Im not 100% sure that file locking works (YMMV). If there are problems let me know. Also success reports would be nice.
MailServer - Name of your SMTP Server which receives forwarded messages. If there is MboxFile defined this property wont be used.
DestinationAddess - Address of recipient of forwarded messages. If there is MboxFile defined this property wont be used.
Username - Username for your windows domain user. It may be same as ExchangeUser but necessarily.
Password - Password for domain user.
Domain - Domain for above user.
Delete - Whether program should delete mail from Inbox or just mark them as read. If Delete is true mail will be deleted after succesful forwarding. Any other value will just mark message as read. While you are configuring other properties I strongly recommend that you use value false for this property.
All - Whether program should real all mail from Inbox or just which are not read yet. If All is true every mail will be read. Any other value will read only unread mail. While you are configuring other properties I strongly recommend that you use value false for this property.
WARNING!!! Dont combine Delete=false and All=true if you are not testing. That will fetch every mail from your Inbox everytime you start the program.
Secure - If value is true program will use https. Any other value will use http. Https should be user whenever possible.
FBApath - Path to form based authentication. If not set defaults to /exchweb/bin/auth/owaauth.dll. This can be found on FBA login page source (hint: search for "destination")
ForceFrom - If this is set to true forwarded mail will be forwarded with address from ForceFromAddr parameter. This only happens when sender address is not valid. For example if there is two From: fields in mail header Exchange can join addresses. NOTE: This may help spam to get through so use carefully.
ForceFromAddr - E-mail address that forwarding server will accept. Only used if ForceFrom is true
NoEightBitMime - If this is true SMTP forwarding doesnt use BODY=8BITMIME. Default is false.
Now you just need to include JRE in you path. If it is in you path you can run program:
java -jar /install/fetchExc/fetchExc.jar
You can now (>0.80) use -p switch to change properties file. For example:
java -jar /install/fetchExc/fetchExc.jar -p test.properties
would run program using properties from test.properties
I use fetchExc with following little shell script and crontab entry so that it keeps fetching mail every two minutes.
fetchExc
#!/bin/bash
export PATH=$PATH:/usr/local/jre/bin
java -jar /install/fetchExc/fetchExc.jar $* >> fetchExc.log 2>> fetchExc.err
If you use this script replace /usr/local/jre/bin with path to your java runtime environment. Same applies to location of your installation on next line.
crontab entry:
*/2 * * * * ~jrauti/bin/fetchExc
Enhancements:
- Java has been changed from 1.4 to 1.5.
- The Jakarta HHTTP client has been upgraded from 2.0 to 3.0.
- Proxying also works with HTTPS.
- Code cleanups.
- A small fix in mbox saving (in Mac OS X, messages were coalesced).
Download (0.012MB)
Added: 2007-03-28 License: GPL (GNU General Public License) Price:
943 downloads
Net::Pcap 0.12
Net::Pcap is an Interface to pcap(3) LBL packet capture library. more>>
Net::Pcap is an Interface to pcap(3) LBL packet capture library.
SYNOPSIS
use Net::Pcap;
my $err = ;
my $dev = Net::Pcap::lookupdev($err); # find a device
# open the device for live listening
my $pcap = Net::Pcap::open_live($dev, 1024, 1, 0, $err);
# loop over next 10 packets
Net::Pcap::loop($pcap, 10, &process_packet, "just for the demo");
# close the device
Net::Pcap::close($pcap);
sub process_packet {
my($user_data, $header, $packet) = @_;
# do something ...
}
Net::Pcap is a Perl binding to the LBL pcap(3) library. The README for libpcap describes itself as:
"a system-independent interface for user-level packet capture.
libpcap provides a portable framework for low-level network
monitoring. Applications include network statistics collection,
security monitoring, network debugging, etc."
<<lessSYNOPSIS
use Net::Pcap;
my $err = ;
my $dev = Net::Pcap::lookupdev($err); # find a device
# open the device for live listening
my $pcap = Net::Pcap::open_live($dev, 1024, 1, 0, $err);
# loop over next 10 packets
Net::Pcap::loop($pcap, 10, &process_packet, "just for the demo");
# close the device
Net::Pcap::close($pcap);
sub process_packet {
my($user_data, $header, $packet) = @_;
# do something ...
}
Net::Pcap is a Perl binding to the LBL pcap(3) library. The README for libpcap describes itself as:
"a system-independent interface for user-level packet capture.
libpcap provides a portable framework for low-level network
monitoring. Applications include network statistics collection,
security monitoring, network debugging, etc."
Download (0.076MB)
Added: 2006-07-27 License: Perl Artistic License Price:
1207 downloads
ImageInfo 1.9
ImageInfo is a free Java class to retrieve properties from image files. more>>
ImageInfo is a free Java class to retrieve properties from image files.
The following file formats are currently supported: JPEG, PNG, GIF, BMP, PCX, IFF, RAS, PBM, PGM, PPM and PSD (read why TIFF is not included). ImageInfo can recognize these formats, and in addition determine image width, height and color depth (bits per pixel).
Also check out ffident, my file format (group) and MIME type identification library. It extracts less information than ImageInfo (it only recognizes the format, no metadata), but it supports more formats and new formats can be added by editing a text file. Similar to file(1) / magic(5).
Using ImageInfo from within a Java application or applet
The image file can be any InputStream object or an instance of a class implementing DataInput (like RandomAccessFile). Here is some sample code on how to use the class:
ImageInfo ii = new ImageInfo();
// in can be InputStream or RandomAccessFile (or DataInput)
ii.setInput(in);
/* if you want to know how many images there are in a file,
uncomment the following line; will slow down ImageInfo
with animated GIFs */
//ii.setDetermineImageNumber(true);
// check does the actual work, you wont get results before
// you have called it
if (!ii.check())
{
System.err.println("Not a supported image file format.");
}
else
{
System.out.println(
ii.getFormatName() + ", " +
ii.getMimeType() + ", " +
ii.getWidth() + " x " + ii.getHeight() + " pixels, " +
ii.getBitsPerPixel() + " bits per pixel, " +
ii.getNumberOfImages() + " image(s).");
// there are other properties, check out the API documentation
}
Using ImageInfo as a command line program
ImageInfo also has a main method that makes it a command line tool. Assuming that ImageInfo.class is in your classpath, giving the class to java with some file names as arguments will be sufficient. Here is an example call including output:
$ java ImageInfo test.jpg
test.jpg
File format: JPEG
MIME type: image/jpeg
Width (pixels): 1556
Height (pixels): 2048
Bits per pixel: 24
Progressive: false
Number of images: 1
Physical width (dpi): 300
Physical height (dpi): 300
Physical width (inches): 5.1866665
Physical height (inches): 6.826667
<<lessThe following file formats are currently supported: JPEG, PNG, GIF, BMP, PCX, IFF, RAS, PBM, PGM, PPM and PSD (read why TIFF is not included). ImageInfo can recognize these formats, and in addition determine image width, height and color depth (bits per pixel).
Also check out ffident, my file format (group) and MIME type identification library. It extracts less information than ImageInfo (it only recognizes the format, no metadata), but it supports more formats and new formats can be added by editing a text file. Similar to file(1) / magic(5).
Using ImageInfo from within a Java application or applet
The image file can be any InputStream object or an instance of a class implementing DataInput (like RandomAccessFile). Here is some sample code on how to use the class:
ImageInfo ii = new ImageInfo();
// in can be InputStream or RandomAccessFile (or DataInput)
ii.setInput(in);
/* if you want to know how many images there are in a file,
uncomment the following line; will slow down ImageInfo
with animated GIFs */
//ii.setDetermineImageNumber(true);
// check does the actual work, you wont get results before
// you have called it
if (!ii.check())
{
System.err.println("Not a supported image file format.");
}
else
{
System.out.println(
ii.getFormatName() + ", " +
ii.getMimeType() + ", " +
ii.getWidth() + " x " + ii.getHeight() + " pixels, " +
ii.getBitsPerPixel() + " bits per pixel, " +
ii.getNumberOfImages() + " image(s).");
// there are other properties, check out the API documentation
}
Using ImageInfo as a command line program
ImageInfo also has a main method that makes it a command line tool. Assuming that ImageInfo.class is in your classpath, giving the class to java with some file names as arguments will be sufficient. Here is an example call including output:
$ java ImageInfo test.jpg
test.jpg
File format: JPEG
MIME type: image/jpeg
Width (pixels): 1556
Height (pixels): 2048
Bits per pixel: 24
Progressive: false
Number of images: 1
Physical width (dpi): 300
Physical height (dpi): 300
Physical width (inches): 5.1866665
Physical height (inches): 6.826667
Download (0.027MB)
Added: 2006-11-14 License: Public Domain Price:
1085 downloads
Exception::Class::TryCatch 1.10
Exception::Class::TryCatch is a syntactic try/catch sugar for use with Exception::Class. more>>
Exception::Class::TryCatch is a syntactic try/catch sugar for use with Exception::Class.
SYNOPSIS
use Exception::Class::TryCatch;
# simple usage of catch()
eval { Exception::Class::Base->throw(error) };
catch my $err and warn $err->error;
# catching only certain types or else rethrowing
eval { Exception::Class::Base::SubClass->throw(error) };
catch( my $err, [Exception::Class::Base, Other::Exception] )
and warn $err->error;
# catching and handling different types of errors
eval { Exception::Class::Base->throw(error) };
if ( catch my $err ) {
$err->isa(this) and do { handle_this($err) };
$err->isa(that) and do { handle_that($err) };
}
# use "try eval" to push exceptions onto a stack to catch later
try eval {
Exception::Class::Base->throw(error)
};
do {
# cleanup that might use "try/catch" again
};
catch my $err; # catches a matching "try"
Exception::Class::TryCatch provides syntactic sugar for use with Exception::Class using the familiar keywords try and catch. Its primary objective is to allow users to avoid dealing directly with $@ by ensuring that any exceptions caught in an eval are captured as Exception::Class objects, whether they were thrown objects to begin with or whether the error resulted from die. This means that users may immediately use isa and various Exception::Class methods to process the exception.
In addition, this module provides for a method to push errors onto a hidden error stack immediately after an eval so that cleanup code or other error handling may also call eval without the original error in $@ being lost.
Inspiration for this module is due in part to Dave Rolskys article "Exception Handling in Perl With Exception::Class" in The Perl Journal (Rolsky 2004).
The try/catch syntax used in this module does not use code reference prototypes the way the Error.pm module does, but simply provides some helpful functionality when used in combination with eval. As a result, it avoids the complexity and dangers involving nested closures and memory leaks inherent in Error.pm (Perrin 2003).
Rolsky (2004) notes that these memory leaks may not occur in recent versions of Perl, but the approach used in Exception::Class::TryCatch should be safe for all versions of Perl as it leaves all code execution to the eval in the current scope, avoiding closures altogether.
<<lessSYNOPSIS
use Exception::Class::TryCatch;
# simple usage of catch()
eval { Exception::Class::Base->throw(error) };
catch my $err and warn $err->error;
# catching only certain types or else rethrowing
eval { Exception::Class::Base::SubClass->throw(error) };
catch( my $err, [Exception::Class::Base, Other::Exception] )
and warn $err->error;
# catching and handling different types of errors
eval { Exception::Class::Base->throw(error) };
if ( catch my $err ) {
$err->isa(this) and do { handle_this($err) };
$err->isa(that) and do { handle_that($err) };
}
# use "try eval" to push exceptions onto a stack to catch later
try eval {
Exception::Class::Base->throw(error)
};
do {
# cleanup that might use "try/catch" again
};
catch my $err; # catches a matching "try"
Exception::Class::TryCatch provides syntactic sugar for use with Exception::Class using the familiar keywords try and catch. Its primary objective is to allow users to avoid dealing directly with $@ by ensuring that any exceptions caught in an eval are captured as Exception::Class objects, whether they were thrown objects to begin with or whether the error resulted from die. This means that users may immediately use isa and various Exception::Class methods to process the exception.
In addition, this module provides for a method to push errors onto a hidden error stack immediately after an eval so that cleanup code or other error handling may also call eval without the original error in $@ being lost.
Inspiration for this module is due in part to Dave Rolskys article "Exception Handling in Perl With Exception::Class" in The Perl Journal (Rolsky 2004).
The try/catch syntax used in this module does not use code reference prototypes the way the Error.pm module does, but simply provides some helpful functionality when used in combination with eval. As a result, it avoids the complexity and dangers involving nested closures and memory leaks inherent in Error.pm (Perrin 2003).
Rolsky (2004) notes that these memory leaks may not occur in recent versions of Perl, but the approach used in Exception::Class::TryCatch should be safe for all versions of Perl as it leaves all code execution to the eval in the current scope, avoiding closures altogether.
Download (0.015MB)
Added: 2007-01-22 License: Perl Artistic License Price:
1005 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 err 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