version 5
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 2285
Sort::Versions 1.5
Sort::Versions is a Perl 5 module for sorting of revision-like numbers. more>>
Sort::Versions is a Perl 5 module for sorting of revision-like numbers.
SYNOPSIS
use Sort::Versions;
@l = sort { versioncmp($a, $b) } qw( 1.2 1.2.0 1.2a.0 1.2.a 1.a 02.a );
...
use Sort::Versions;
print lower if versioncmp(1.2, 1.2a) == -1;
...
use Sort::Versions;
%h = (1 => d, 2 => c, 3 => b, 4 => a);
@h = sort { versioncmp($h{$a}, $h{$b}) } keys %h;
Sort::Versions allows easy sorting of mixed non-numeric and numeric strings, like the version numbers that many shared library systems and revision control packages use. This is quite useful if you are trying to deal with shared libraries. It can also be applied to applications that intersperse variable-width numeric fields within text. Other applications can undoubtedly be found.
For an explanation of the algorithm, its simplest to look at these examples:
1.1 < 1.2
1.1a < 1.2
1.1 < 1.1.1
1.1 < 1.1a
1.1.a < 1.1a
1 < a
a < b
1 < 2
1.1-3 < 1.1-4
1.1-5 < 1.1.6
More precisely (but less comprehensibly), the two strings are treated as subunits delimited by periods or hyphens. Each subunit can contain any number of groups of digits or non-digits. If digit groups are being compared on both sides, a numeric comparison is used, otherwise a ASCII ordering is used. A group or subgroup with more units will win if all comparisons are equal. A period binds digit groups together more tightly than a hyphen.
Some packages use a different style of version numbering: a simple real number written as a decimal. Sort::Versions has limited support for this style: when comparing two subunits which are both digit groups, if either subunit has a leading zero, then both are treated like digits after a decimal point. So for example:
0002 < 1
1.06 < 1.5
This wont always work, because there wont always be a leading zero in real-number style version numbers. There is no way for Sort::Versions to know which style was intended. But a lot of the time it will do the right thing. If you are making up version numbers, the style with (possibly) more than one dot is the style to use.
USAGE
The function versioncmp() takes two arguments and compares them like cmp. With perl 5.6 or later, you can also use this function directly in sorting:
@l = sort versioncmp qw(1.1 1.2 1.0.3);
The function versions() can be used directly as a sort function even on perl 5.005 and earlier, but its use is deprecated.
<<lessSYNOPSIS
use Sort::Versions;
@l = sort { versioncmp($a, $b) } qw( 1.2 1.2.0 1.2a.0 1.2.a 1.a 02.a );
...
use Sort::Versions;
print lower if versioncmp(1.2, 1.2a) == -1;
...
use Sort::Versions;
%h = (1 => d, 2 => c, 3 => b, 4 => a);
@h = sort { versioncmp($h{$a}, $h{$b}) } keys %h;
Sort::Versions allows easy sorting of mixed non-numeric and numeric strings, like the version numbers that many shared library systems and revision control packages use. This is quite useful if you are trying to deal with shared libraries. It can also be applied to applications that intersperse variable-width numeric fields within text. Other applications can undoubtedly be found.
For an explanation of the algorithm, its simplest to look at these examples:
1.1 < 1.2
1.1a < 1.2
1.1 < 1.1.1
1.1 < 1.1a
1.1.a < 1.1a
1 < a
a < b
1 < 2
1.1-3 < 1.1-4
1.1-5 < 1.1.6
More precisely (but less comprehensibly), the two strings are treated as subunits delimited by periods or hyphens. Each subunit can contain any number of groups of digits or non-digits. If digit groups are being compared on both sides, a numeric comparison is used, otherwise a ASCII ordering is used. A group or subgroup with more units will win if all comparisons are equal. A period binds digit groups together more tightly than a hyphen.
Some packages use a different style of version numbering: a simple real number written as a decimal. Sort::Versions has limited support for this style: when comparing two subunits which are both digit groups, if either subunit has a leading zero, then both are treated like digits after a decimal point. So for example:
0002 < 1
1.06 < 1.5
This wont always work, because there wont always be a leading zero in real-number style version numbers. There is no way for Sort::Versions to know which style was intended. But a lot of the time it will do the right thing. If you are making up version numbers, the style with (possibly) more than one dot is the style to use.
USAGE
The function versioncmp() takes two arguments and compares them like cmp. With perl 5.6 or later, you can also use this function directly in sorting:
@l = sort versioncmp qw(1.1 1.2 1.0.3);
The function versions() can be used directly as a sort function even on perl 5.005 and earlier, but its use is deprecated.
Download (0.005MB)
Added: 2007-05-22 License: Perl Artistic License Price:
885 downloads
DBIx::Version 0.01
DBIx::Version is a Perl extension for getting database software name and version. more>>
DBIx::Version is a Perl extension for getting database software name and version.
SYNOPSIS
use DBIx::Version;
my $dbh = DBI->connect( ... );
my ($dbname, $dbver, $dbverfull) = DBIx::Version::Version($dbh);
DBIx::Version lets you query which database software and version you are connected to.
Return Examples:
(undef, undef, undef)
(mysql, 4.0.17, 4.0.17-standard-log)
(postgresql, 7.4.1, PostgreSQL 7.4.1 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.3.2 20031107 (Red Hat Linux 3.3.2-2))
(oracle, 8.1.7.0.0, 8.1.7.0.0)
(sqlserver, 8.00.384, Microsoft SQL Server 2000 - 8.00.384 (Intel X86)
May 23 2001 00:02:52
Copyright (c) 1988-2000 Microsoft Corporation
Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 2))
(sybase,12.5.0.1,Adaptive Server Enterprise/12.5.0.1/SWR 9982 IR/P/Sun_svr4/OS 5.8/rel12501/1776/ 64-bit/FBO/Tue Feb 26 01:22:10 2002)
(sybase,12.5.0.2,Adaptive Server Enterprise/12.5.0.2/EBF 14000 IR/P/Sun_svr4/OS 5.8/rel12502/1776/64-bit/FBO/Tue Jun 4 01:22:10 2002)
Answer 1: This module is useful for cross-platform coding, and in environments like shared hosting where you actually didnt install the database yourself and are curious.
<<lessSYNOPSIS
use DBIx::Version;
my $dbh = DBI->connect( ... );
my ($dbname, $dbver, $dbverfull) = DBIx::Version::Version($dbh);
DBIx::Version lets you query which database software and version you are connected to.
Return Examples:
(undef, undef, undef)
(mysql, 4.0.17, 4.0.17-standard-log)
(postgresql, 7.4.1, PostgreSQL 7.4.1 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.3.2 20031107 (Red Hat Linux 3.3.2-2))
(oracle, 8.1.7.0.0, 8.1.7.0.0)
(sqlserver, 8.00.384, Microsoft SQL Server 2000 - 8.00.384 (Intel X86)
May 23 2001 00:02:52
Copyright (c) 1988-2000 Microsoft Corporation
Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 2))
(sybase,12.5.0.1,Adaptive Server Enterprise/12.5.0.1/SWR 9982 IR/P/Sun_svr4/OS 5.8/rel12501/1776/ 64-bit/FBO/Tue Feb 26 01:22:10 2002)
(sybase,12.5.0.2,Adaptive Server Enterprise/12.5.0.2/EBF 14000 IR/P/Sun_svr4/OS 5.8/rel12502/1776/64-bit/FBO/Tue Jun 4 01:22:10 2002)
Answer 1: This module is useful for cross-platform coding, and in environments like shared hosting where you actually didnt install the database yourself and are curious.
Download (0.003MB)
Added: 2007-01-11 License: Perl Artistic License Price:
1020 downloads
Test::Version 0.02
Test::Version is a Perl module that has the role to check for VERSION information in modules. more>>
Test::Version is a Perl module that has the role to check for VERSION information in modules.
SYNOPSIS
use Test::Version;
plan tests => $num_tests;
version_ok( $file );
FUNCTIONS
version_ok( FILENAME, [EXPECTED, [NAME] ] )
version_ok requires a filename and returns one of the three values:
NO_FILE Could not find the file
NO_VERSION File had no VERSION information
VERSION_OK VERSION information exists
version_ok okays a test without an expected result if it finds VERSION information, or if an expected result is specified and it finds that condition. For instance, if you know there is no VERSION information,
version_ok( $file, NO_VERSION );
When it fails, version_ok will show error information.
The optional third argument NAME is the name of the test which version_ok passes through to Test::Builder. Otherwise, it choose a default test name "VERSION test for FILENAME".
<<lessSYNOPSIS
use Test::Version;
plan tests => $num_tests;
version_ok( $file );
FUNCTIONS
version_ok( FILENAME, [EXPECTED, [NAME] ] )
version_ok requires a filename and returns one of the three values:
NO_FILE Could not find the file
NO_VERSION File had no VERSION information
VERSION_OK VERSION information exists
version_ok okays a test without an expected result if it finds VERSION information, or if an expected result is specified and it finds that condition. For instance, if you know there is no VERSION information,
version_ok( $file, NO_VERSION );
When it fails, version_ok will show error information.
The optional third argument NAME is the name of the test which version_ok passes through to Test::Builder. Otherwise, it choose a default test name "VERSION test for FILENAME".
Download (0.005MB)
Added: 2007-05-07 License: Perl Artistic License Price:
902 downloads
Truevision 0.5.5
Truevision is a 3D modeler for Gnome and Povray. more>>
Truevision is a 3D modeler for Gnome and Povray.
Truevision is a 3D modeler for Gnome. It is still in developpement, so be carefull and save often.
Main features:
- create some objects :
- finite solid primitives : blob, box, sphere, cone, cylinder, torus, heightfield, superellipsoid, lathe, sphere
- finite patch primitive : disc
- infinite solid primitive : plane
- lights : point, cylindrical, spot, area, light groups
- csg operators : union, merge, intersection, difference
- athmospherics : background, skysphere, media, fog
- manipulate them ( rotate, scale, translate ... )
- manipulate and edit the camera.
- render the scene with the multithreaded povray frontend.
- create and edit materials , with preview in editor.
- output the scene to povray .
- save and load scenes, objects, and materials.
- save materials with preview in material library.
<<lessTruevision is a 3D modeler for Gnome. It is still in developpement, so be carefull and save often.
Main features:
- create some objects :
- finite solid primitives : blob, box, sphere, cone, cylinder, torus, heightfield, superellipsoid, lathe, sphere
- finite patch primitive : disc
- infinite solid primitive : plane
- lights : point, cylindrical, spot, area, light groups
- csg operators : union, merge, intersection, difference
- athmospherics : background, skysphere, media, fog
- manipulate them ( rotate, scale, translate ... )
- manipulate and edit the camera.
- render the scene with the multithreaded povray frontend.
- create and edit materials , with preview in editor.
- output the scene to povray .
- save and load scenes, objects, and materials.
- save materials with preview in material library.
Download (1.5MB)
Added: 2005-10-07 License: GPL (GNU General Public License) Price:
1483 downloads
Module::Versions 0.02
Module::Versions is a Perl module to handle versions of loaded modules with flexible result interface. more>>
Module::Versions is a Perl module to handle versions of loaded modules with flexible result interface.
SYNOPSIS
use Module::Versions;
# Simple Interface
list Module::Versions; # prints formatted results to STDOUT
Module::Versions->list; # prints formatted results to STDOUT
# Shortcuts
$vers = get Module::Versions; # retrieves loaded modules
$vers = Module::Versions->get; # retrieves loaded modules
$array = Module::Versions->ARRAY; # returns array with version infos
$hash = Module::Versions->HASH; # returns hash with version infos
$list = Module::Versions->SCALAR; # returns text list with version infos
$csv = Module::Versions->CSV; # returns csv list with version infos
$xml = Module::Versions->XML; # returns xml struct with version infos
$xsd = Module::Versions->XSD; # returns xml schema of version infos
$dtd = Module::Versions->DTD; # returns DTD of version infos
# Individual Parameters
$vers = Module::Versions # retrieves mods and vars as defined
->new($mods,$vars)
->get($criteria);
$vers->list($fd,$mask); # prints formatted results to file
$vers->list($fd,$preform); # prints preformatted results to file
$vers->list($fd,&cb); # prints serialied results as handled
# in callback routine
$vers->data(&cb); # returns transformed results as
# defined in callback routine
# Individual formatted output
list Module::Versions(*LOG, %5d %1s %-20s %10s %-16s);
# prints individually formatted
# results to LOG
list Module::Versions(*DBIMPORT, %s|%s|%s);
# prints individually formatted
# results to Database Import file
list Module::Versions(*FD, SCALAR);# prints text list results to file
list Module::Versions(*FD, CSV); # prints csv list results to file
list Module::Versions(*FD, XML); # prints xml struct results to file
list Module::Versions(*FD, XSD); # prints xml schema to file
list Module::Versions(*FD, DTD); # prints DTD to file
list Module::Versions(*FD, ARRAY); # prints serialized results to file
list Module::Versions(*FD, HASH); # prints serialized results to file
Module::Versions->list(*LOG); # prints formatted results to LOG
# Pretty Compact
Module::Versions->list # prints formatted results on STDOUT
->list(*XML,XML); # prints xml struct results to XML file
Module::Versions->list # prints formatted results on STDOUT
->list(*XSD,XSD) # prints xml schema to XSD file
->list(*XML,XML); # prints xml struct results to XML file
Module::Versions->list # prints formatted results on STDOUT
->list(*DTD,DTD) # prints DTD to DTD file
->list(*XML,XML); # prints xml struct results to XML file
Module::Versions handles versions of loaded modules with a flexible result interface. The main goal is to get as much version informations as possible about a module or module list with a simple call interface and an absolutely flexible result interface. Module::Versions handles *loaded* and *loadable* modules.
The motivation for writing this module was the need for better support facilities to get informations about the used modules and versions in the productivity environment. Module::Versions allows shipping applications basically with something like a -version option (See Getopt::Long) but with expanded functions.
Module::Versions tries to read the loaded/loadable modules $VERSION. For extended purposes any private project version variables can be fetched ($_VERSION, $version, $REV, etc.).
Module::Versions has a flexible result interface to satisfy different needs: results can be lists and data structures with different formats - pre-formed ARRAY, HASH, SCALAR, CSV, XML/XSD/DTD and a full flexible user callback interface.
It is for example very simple to print a good formatted version list to the console and save a version.xml file (in conjunction with an xsd-schema) at the same time with an absolutely minimum of coding (SYNOPSIS, Pretty Compact) .
Module::Versions tries to load version.pm to support Perl 5.10.0s $VERSION formatting.
<<lessSYNOPSIS
use Module::Versions;
# Simple Interface
list Module::Versions; # prints formatted results to STDOUT
Module::Versions->list; # prints formatted results to STDOUT
# Shortcuts
$vers = get Module::Versions; # retrieves loaded modules
$vers = Module::Versions->get; # retrieves loaded modules
$array = Module::Versions->ARRAY; # returns array with version infos
$hash = Module::Versions->HASH; # returns hash with version infos
$list = Module::Versions->SCALAR; # returns text list with version infos
$csv = Module::Versions->CSV; # returns csv list with version infos
$xml = Module::Versions->XML; # returns xml struct with version infos
$xsd = Module::Versions->XSD; # returns xml schema of version infos
$dtd = Module::Versions->DTD; # returns DTD of version infos
# Individual Parameters
$vers = Module::Versions # retrieves mods and vars as defined
->new($mods,$vars)
->get($criteria);
$vers->list($fd,$mask); # prints formatted results to file
$vers->list($fd,$preform); # prints preformatted results to file
$vers->list($fd,&cb); # prints serialied results as handled
# in callback routine
$vers->data(&cb); # returns transformed results as
# defined in callback routine
# Individual formatted output
list Module::Versions(*LOG, %5d %1s %-20s %10s %-16s);
# prints individually formatted
# results to LOG
list Module::Versions(*DBIMPORT, %s|%s|%s);
# prints individually formatted
# results to Database Import file
list Module::Versions(*FD, SCALAR);# prints text list results to file
list Module::Versions(*FD, CSV); # prints csv list results to file
list Module::Versions(*FD, XML); # prints xml struct results to file
list Module::Versions(*FD, XSD); # prints xml schema to file
list Module::Versions(*FD, DTD); # prints DTD to file
list Module::Versions(*FD, ARRAY); # prints serialized results to file
list Module::Versions(*FD, HASH); # prints serialized results to file
Module::Versions->list(*LOG); # prints formatted results to LOG
# Pretty Compact
Module::Versions->list # prints formatted results on STDOUT
->list(*XML,XML); # prints xml struct results to XML file
Module::Versions->list # prints formatted results on STDOUT
->list(*XSD,XSD) # prints xml schema to XSD file
->list(*XML,XML); # prints xml struct results to XML file
Module::Versions->list # prints formatted results on STDOUT
->list(*DTD,DTD) # prints DTD to DTD file
->list(*XML,XML); # prints xml struct results to XML file
Module::Versions handles versions of loaded modules with a flexible result interface. The main goal is to get as much version informations as possible about a module or module list with a simple call interface and an absolutely flexible result interface. Module::Versions handles *loaded* and *loadable* modules.
The motivation for writing this module was the need for better support facilities to get informations about the used modules and versions in the productivity environment. Module::Versions allows shipping applications basically with something like a -version option (See Getopt::Long) but with expanded functions.
Module::Versions tries to read the loaded/loadable modules $VERSION. For extended purposes any private project version variables can be fetched ($_VERSION, $version, $REV, etc.).
Module::Versions has a flexible result interface to satisfy different needs: results can be lists and data structures with different formats - pre-formed ARRAY, HASH, SCALAR, CSV, XML/XSD/DTD and a full flexible user callback interface.
It is for example very simple to print a good formatted version list to the console and save a version.xml file (in conjunction with an xsd-schema) at the same time with an absolutely minimum of coding (SYNOPSIS, Pretty Compact) .
Module::Versions tries to load version.pm to support Perl 5.10.0s $VERSION formatting.
Download (0.021MB)
Added: 2007-05-03 License: Perl Artistic License Price:
904 downloads
Kernel Version Monitor 0.5
Kernel Version Monitor is a Superkaramba theme that creates a widget displaying the current version information of the kernel. more>>
Kernel Version Monitor is a Superkaramba theme that creates a widget displaying the current version information of the Linux kernel as put forth by the kernel.org RSS feed here: http://kernel.org/kdist/rss.xml . Kernel Version Monitor uses the Tux icon from the nuoveXT icon theme found at http://nuovext.pwsp.net
Kudos and thanks to Richard "Ricardo" Szlachta for his advice on refining the aesthetics of this theme.
This is my first Superkaramba theme and a work in progress. I would love to hear comments, opinions and suggestions in order to improve this theme.
<<lessKudos and thanks to Richard "Ricardo" Szlachta for his advice on refining the aesthetics of this theme.
This is my first Superkaramba theme and a work in progress. I would love to hear comments, opinions and suggestions in order to improve this theme.
Download (0.025MB)
Added: 2006-06-29 License: GPL (GNU General Public License) Price:
1213 downloads
MQSeries 1.25
MQSeries is a Perl extension for MQSeries support. more>>
MQSeries is a Perl extension for MQSeries support.
SYNOPSIS
There are two interfaces provided by the MQSeries modules. The first is a straight forward mapping to all of the individual MQI calls, and the second is a value-added, OO interface, which provides a simpler interface to a subset of the full MQI functionality.
The straight MQI mapping is:
use MQSeries;
$Hconn = MQCONN($Name,$CompCode,$Reason);
MQDISC($Hconn,$CompCode,$Reason);
$Hobj = MQOPEN($Hconn,$ObjDesc,$Options,$CompCode,$Reason);
MQCLOSE($Hconn,$Hobj,$Options,$CompCode,$Reason);
MQBACK($Hconn,$CompCode,$Reason);
MQCMIT($Hconn,$CompCode,$Reason);
$Buffer = MQGET($Hconn,$Hobj,$MsgDesc,$GetMsgOpts,$BufferLength,$CompCode,$Reason);
MQPUT($Hconn,$Hobj,$MsgDesc,%PutMsgOpts,$Msg,$CompCode,$Reason);
MQPUT1($Hconn,$ObjDesc,$MsgDesc,$PutMsgOpts,$Msg,$CompCode,$Reason);
($Attr1,...) = MQINQ($Hconn,$Hobj,$CompCode,$Reason,$Selector1,...);
MQSET($Hconn,$Hobj,$CompCode,$Reason,$Selector1,$Attr1,...);
If the perl5 API is compiled with the version 5 headers and libraries, then the following MQI calls are also available:
MQBEGIN($Hconn,$BeginOpts,$CompCode,$Reason);
$Hconn = MQCONNX($Name,$ConnectOpts,$CompCode,$Reason);
There are also some additional utility routines provided which are not part of the MQI, but specific to the perl5 API:
($ReasonText,$ReasonMacro) = MQReasonToStrings($Reason);
($ReasonText) = MQReasonToText($Reason);
($ReasonMacro) = MQReasonToMacro($Reason);
The OO interface is provided in several optional modules. Three of these make up the core OO interface:
MQSeries::QueueManager
MQSeries::Queue
MQSeries::Message
There are several subclasses of MQSeries::Message which handle special message formats:
MQSeries::Message::Storable
MQSeries::Message::Event
MQSeries::Message::PCF
MQSeries::Message::DeadLetter
There is also a module which provides an interface to the command server PCF messages for MQSeries administration:
MQSeries::Command
There are two sets of classes that help you follow (tail -f style) and parse the two kinds of log-files written by MQSeries: the FDC files and the error-logs. These classes allow you to write a log monitoring daemon that feeds into syslog or your system management tools.
MQSeries::ErrorLog::Tail
MQSeries::ErrorLog::Parser
MQSeries::ErrorLog::Entry
MQSeries::FDC::Tail
MQSeries::FDC::Parser
MQSeries::FDC::Entry
There is a set of classes that parses configuration and authority files (/var/mqm/mqs.ini, /var/mqm/qmgrs/*/qm.ini, /var/mqm/qmgrs/*/auth/*/*).
MQSeries::Config::Authority
MQSeries::Config::Machine
MQSeries::Config::QMgr
Some internal helper functions are stored in the module:
MQSeries::Utils
See the documentation for each of these individual modules for more information.
<<lessSYNOPSIS
There are two interfaces provided by the MQSeries modules. The first is a straight forward mapping to all of the individual MQI calls, and the second is a value-added, OO interface, which provides a simpler interface to a subset of the full MQI functionality.
The straight MQI mapping is:
use MQSeries;
$Hconn = MQCONN($Name,$CompCode,$Reason);
MQDISC($Hconn,$CompCode,$Reason);
$Hobj = MQOPEN($Hconn,$ObjDesc,$Options,$CompCode,$Reason);
MQCLOSE($Hconn,$Hobj,$Options,$CompCode,$Reason);
MQBACK($Hconn,$CompCode,$Reason);
MQCMIT($Hconn,$CompCode,$Reason);
$Buffer = MQGET($Hconn,$Hobj,$MsgDesc,$GetMsgOpts,$BufferLength,$CompCode,$Reason);
MQPUT($Hconn,$Hobj,$MsgDesc,%PutMsgOpts,$Msg,$CompCode,$Reason);
MQPUT1($Hconn,$ObjDesc,$MsgDesc,$PutMsgOpts,$Msg,$CompCode,$Reason);
($Attr1,...) = MQINQ($Hconn,$Hobj,$CompCode,$Reason,$Selector1,...);
MQSET($Hconn,$Hobj,$CompCode,$Reason,$Selector1,$Attr1,...);
If the perl5 API is compiled with the version 5 headers and libraries, then the following MQI calls are also available:
MQBEGIN($Hconn,$BeginOpts,$CompCode,$Reason);
$Hconn = MQCONNX($Name,$ConnectOpts,$CompCode,$Reason);
There are also some additional utility routines provided which are not part of the MQI, but specific to the perl5 API:
($ReasonText,$ReasonMacro) = MQReasonToStrings($Reason);
($ReasonText) = MQReasonToText($Reason);
($ReasonMacro) = MQReasonToMacro($Reason);
The OO interface is provided in several optional modules. Three of these make up the core OO interface:
MQSeries::QueueManager
MQSeries::Queue
MQSeries::Message
There are several subclasses of MQSeries::Message which handle special message formats:
MQSeries::Message::Storable
MQSeries::Message::Event
MQSeries::Message::PCF
MQSeries::Message::DeadLetter
There is also a module which provides an interface to the command server PCF messages for MQSeries administration:
MQSeries::Command
There are two sets of classes that help you follow (tail -f style) and parse the two kinds of log-files written by MQSeries: the FDC files and the error-logs. These classes allow you to write a log monitoring daemon that feeds into syslog or your system management tools.
MQSeries::ErrorLog::Tail
MQSeries::ErrorLog::Parser
MQSeries::ErrorLog::Entry
MQSeries::FDC::Tail
MQSeries::FDC::Parser
MQSeries::FDC::Entry
There is a set of classes that parses configuration and authority files (/var/mqm/mqs.ini, /var/mqm/qmgrs/*/qm.ini, /var/mqm/qmgrs/*/auth/*/*).
MQSeries::Config::Authority
MQSeries::Config::Machine
MQSeries::Config::QMgr
Some internal helper functions are stored in the module:
MQSeries::Utils
See the documentation for each of these individual modules for more information.
Download (0.31MB)
Added: 2007-05-24 License: Perl Artistic License Price:
888 downloads
Program Version Switch 1.03
Program Version Switch is a program to easily switch between different interpreter versions. more>>
pvswitch is a very tiny program which makes it possible to use different program installations on one machine flawlessly.
Its flexibility is intended for people who need to run programs against different interpreter versions.
But it can also be used for different purposes like switching the version of a compiler, text editor, mail reader, browser, whatever.
It is most useful for developers of interpreter based programs which are started via a hash-bang line (#!).
The following example explains the usage for perl programs, but the very same is true for all other interpreter languages.
If you install two or more different perl versions on your machine, you could just call the respective perl binary you want to use..
perl myscript.pl
/path/to/another/perl myscript.pl
This works fine, although it isnt very convenient. However if you are starting your program using the hash-bang line like
#! /usr/bin/perl
and then just start it by
./myscript.pl
you would need to change the file itself to use another perl version. Again it is possible, but not very convenient.
And here comes pvswitch: its purpose is to make such situations convenient. Further it solve some problems which come up if multiple people want to use different perl versions. pvswitch allows even to run one program in two shells with different perl versions.
This is possible because pvswitch uses a environment variable to select the interpreter version to use. This environment variable can be set in different sessions independently.
pvswitch is installed as new program binary (e.g. perl) the old one will be renamed to program.pvswitch.
Now every time you execute a this program (e.g. perl), pvswitch is executed. It doesnt matter how you start the program...
perl myscript.pl
./myscript.pl # if it has a hash-bang #! /usr/bin/perl
for both cases the pvswitch binary will be executed, pvswitch will than check for the environment variable PVSWITCH_PERL_BINARY (if you are running perl), if it is found it tries to find this key in the configuration file pvswitch.conf and execute the program which is configured for the version configured set in the environment variable (e.g. perl.pvswitch).
So it just executes the real program (e.g. perl interpreter). Depending on the environment a different version might be selected.
There are some convenient tools (e.g. perlver, pvconfig) to configure this.
Enhancements:
- Fixed a bug which could cause segmentation violation.
<<lessIts flexibility is intended for people who need to run programs against different interpreter versions.
But it can also be used for different purposes like switching the version of a compiler, text editor, mail reader, browser, whatever.
It is most useful for developers of interpreter based programs which are started via a hash-bang line (#!).
The following example explains the usage for perl programs, but the very same is true for all other interpreter languages.
If you install two or more different perl versions on your machine, you could just call the respective perl binary you want to use..
perl myscript.pl
/path/to/another/perl myscript.pl
This works fine, although it isnt very convenient. However if you are starting your program using the hash-bang line like
#! /usr/bin/perl
and then just start it by
./myscript.pl
you would need to change the file itself to use another perl version. Again it is possible, but not very convenient.
And here comes pvswitch: its purpose is to make such situations convenient. Further it solve some problems which come up if multiple people want to use different perl versions. pvswitch allows even to run one program in two shells with different perl versions.
This is possible because pvswitch uses a environment variable to select the interpreter version to use. This environment variable can be set in different sessions independently.
pvswitch is installed as new program binary (e.g. perl) the old one will be renamed to program.pvswitch.
Now every time you execute a this program (e.g. perl), pvswitch is executed. It doesnt matter how you start the program...
perl myscript.pl
./myscript.pl # if it has a hash-bang #! /usr/bin/perl
for both cases the pvswitch binary will be executed, pvswitch will than check for the environment variable PVSWITCH_PERL_BINARY (if you are running perl), if it is found it tries to find this key in the configuration file pvswitch.conf and execute the program which is configured for the version configured set in the environment variable (e.g. perl.pvswitch).
So it just executes the real program (e.g. perl interpreter). Depending on the environment a different version might be selected.
There are some convenient tools (e.g. perlver, pvconfig) to configure this.
Enhancements:
- Fixed a bug which could cause segmentation violation.
Download (0.075MB)
Added: 2005-04-15 License: GPL (GNU General Public License) Price:
1661 downloads
VirgoFTP 1.3.5.1
VirgoFTP is an FTP GUI based on SWT, It provides a CuteFTP-like interface for users who turn from Microsoft Windows to Linux. more>>
VirgoFTP is an FTP GUI based on SWT. VirgoFTP provides a CuteFTP-like interface for users who turn from Microsoft Windows to Linux.
Main features:
- A "true" Universal FTP Client. VirgoFTP can be installed and run on a wide variety of platforms such as Linux ,Mac OS ,Solaris.
- VirgoFTP allows you to work with multiple FTP sites simultaneously. Each session will create a new Tab making it easy to switch between sessions.such like CuteFTP in Microsoft Windows flatform.
- Support RFC959 protocol.
- Proxy/Firewall
- VirgoFTP support SOCKS proxy(version 5),and HTTP proxy, including authentication.
- Transfer:
- Support muliple transfer thread when transfer directories.
- Resuming of interrupted binary transfers supported.
- Passive and active modes are supported (PASV and PORT).
- Support FXP , can auto manager the transfer between two standard FTP Server.
<<lessMain features:
- A "true" Universal FTP Client. VirgoFTP can be installed and run on a wide variety of platforms such as Linux ,Mac OS ,Solaris.
- VirgoFTP allows you to work with multiple FTP sites simultaneously. Each session will create a new Tab making it easy to switch between sessions.such like CuteFTP in Microsoft Windows flatform.
- Support RFC959 protocol.
- Proxy/Firewall
- VirgoFTP support SOCKS proxy(version 5),and HTTP proxy, including authentication.
- Transfer:
- Support muliple transfer thread when transfer directories.
- Resuming of interrupted binary transfers supported.
- Passive and active modes are supported (PASV and PORT).
- Support FXP , can auto manager the transfer between two standard FTP Server.
Download (3.2MB)
Added: 2006-08-08 License: LGPL (GNU Lesser General Public License) Price:
1177 downloads
JDBCPersistence 1.5 Beta 2
JDBCPersistence project is an Object Relational Mapping Framework. more>>
JDBCPersistence project is an Object Relational Mapping Framework. Designed for use in high volume online banking application the package delivers performance matching of that exhibited by hand written JDBC code.
The differentiating features of JDBCPersistence are a result of the focus placed first and foremost on performance followed by making programmer most effective by building on existing knowledge of SQL, JDBC APIs, IDEs and, at the same time, avoiding creation of dependencies on specific libraries, tools, IDEs.
The framework strikes a good balance in what it provides verses what it requires a programmer to do in order to use it, e.g. a programmer could quickly prototype value objects by specifying them as Java interfaces and asking the framework to provide implementation for these interfaces at runtime, thus allowing to go from specifying an interface to using it in no time.
On the other hand, recognizing that data relationships are governed by business rules much more complex than could be specified in a typical ORM configuration file, a programmer is required to maintain such relationships in code.
The focus of the framework is to provide ORM services while leaving other concerns, in particular, data caching, up to the developer to solve in the context of an application. Being aware that the caching requirements may be different in online vs. batch application, the framework does not prescribe a solution. Developer needs to decide on application specific caching policy and implement it in an architectural layer (DAO) designed to function in both contexts.
The framework does not add any behavior to the classes that comprise the application. Classes supplied by the developer are the classes that will be used by the application when it runs.
JDBCPersistence uses bytecode generation technique to create bytecode for classes that implement logic used for persisting the data. Such, for every, loosely speaking "Java Bean", that requires persistence, a persistor class that implements CRUD operations is created. As opposed to using reflection, the approach of generating bytecode is apt to further optimization by JVM.
JDBCPersistence takes bytecode generation a little further by providing a feature that allows generating complete implementation of a value object specified as an abstract class. Similar to generating full implementation for Java interface class that describes value object class, the framework can generate implementation for all abstract methods of an abstract class representing value object.
As all of the bytecode generation takes place at run time, there is no impact on development or build process. The approach of generating bytecode at runtime is also used by RMI implementation of the Java Platform starting with version 5.0.
The API of the framework builds on the existing JDBC APIs. JDBCPersistences public API adds four classes and three interfaces. As the framework uses SQL for queering the data a curve associated with learning framework specific query language is avoided.
In an attempt to "keep it simple" JDBCPersistence only dependency is ASM, which is used for bytecode generation. The footprint of the package is under 200K.
<<lessThe differentiating features of JDBCPersistence are a result of the focus placed first and foremost on performance followed by making programmer most effective by building on existing knowledge of SQL, JDBC APIs, IDEs and, at the same time, avoiding creation of dependencies on specific libraries, tools, IDEs.
The framework strikes a good balance in what it provides verses what it requires a programmer to do in order to use it, e.g. a programmer could quickly prototype value objects by specifying them as Java interfaces and asking the framework to provide implementation for these interfaces at runtime, thus allowing to go from specifying an interface to using it in no time.
On the other hand, recognizing that data relationships are governed by business rules much more complex than could be specified in a typical ORM configuration file, a programmer is required to maintain such relationships in code.
The focus of the framework is to provide ORM services while leaving other concerns, in particular, data caching, up to the developer to solve in the context of an application. Being aware that the caching requirements may be different in online vs. batch application, the framework does not prescribe a solution. Developer needs to decide on application specific caching policy and implement it in an architectural layer (DAO) designed to function in both contexts.
The framework does not add any behavior to the classes that comprise the application. Classes supplied by the developer are the classes that will be used by the application when it runs.
JDBCPersistence uses bytecode generation technique to create bytecode for classes that implement logic used for persisting the data. Such, for every, loosely speaking "Java Bean", that requires persistence, a persistor class that implements CRUD operations is created. As opposed to using reflection, the approach of generating bytecode is apt to further optimization by JVM.
JDBCPersistence takes bytecode generation a little further by providing a feature that allows generating complete implementation of a value object specified as an abstract class. Similar to generating full implementation for Java interface class that describes value object class, the framework can generate implementation for all abstract methods of an abstract class representing value object.
As all of the bytecode generation takes place at run time, there is no impact on development or build process. The approach of generating bytecode at runtime is also used by RMI implementation of the Java Platform starting with version 5.0.
The API of the framework builds on the existing JDBC APIs. JDBCPersistences public API adds four classes and three interfaces. As the framework uses SQL for queering the data a curve associated with learning framework specific query language is avoided.
In an attempt to "keep it simple" JDBCPersistence only dependency is ASM, which is used for bytecode generation. The footprint of the package is under 200K.
Download (0.16MB)
Added: 2006-08-28 License: LGPL (GNU Lesser General Public License) Price:
1152 downloads
BOINC 5.9.5
BOINC lets you donate computing power to scientific research projects. more>>
BOINC project lets you donate computing power to scientific research projects.
Some projects are:
- Climateprediction.net: study climate change
- Einstein@home: search for gravitational signals emitted by pulsars
- LHC@home: improve the design of the CERN LHC particle accelerator
- Predictor@home: investigate protein-related diseases
- Rosetta@home: help researchers develop cures for human diseases
- SETI@home: Look for radio evidence of extraterrestrial life
- Cell Computing biomedical research (Japanese; requires nonstandard client software)
- World Community Grid: advance our knowledge of human disease. (Requires 5.2.1 or greater)
<<lessSome projects are:
- Climateprediction.net: study climate change
- Einstein@home: search for gravitational signals emitted by pulsars
- LHC@home: improve the design of the CERN LHC particle accelerator
- Predictor@home: investigate protein-related diseases
- Rosetta@home: help researchers develop cures for human diseases
- SETI@home: Look for radio evidence of extraterrestrial life
- Cell Computing biomedical research (Japanese; requires nonstandard client software)
- World Community Grid: advance our knowledge of human disease. (Requires 5.2.1 or greater)
Download (3.5MB)
Added: 2007-05-03 License: GPL (GNU General Public License) Price:
917 downloads
OpenEMM 5.1.1
OpenEMM is a feature-rich industrial-strength enterprise software for e-mail marketing. more>>
OpenEMM is a feature-rich industrial-strength enterprise software for e-mail marketing and the first Open Source application for e-mail marketing.
The OpenEMM code base has been developed since 1999 and is used (as part of the commercial ASP product E-Marketing Manager) by companies like BenQ, CA, IBM, Siemens, Deutsche Telekom, Tiscali, etc.
OpenEMM offers already more than 90% of the functionality of the commercial product and some features the commercial product does not offer right now (i.e. new user interface, MySQL support, etc.).
The main difference is, that OpenEMM is an easy to set up single server solution, while its big brother E-Marketing Manager operates on several distributed servers as software on demand.
Main features:
- use e-mail marketing to manage their customer relations (CRM)
- use e-mail marketing to distribute content from various sources (CMS)
- use e-mail marketing to collect data about recipients and to analyze them (BI)
Enhancements:
Bug Fixes in Release 5.1.1
MailingWizard (BugID: 1746428, Source: SF.net)
"Error in MailingWizard step 7 when no targetgroup is defined"
- added warning message in step 1 if no target group exists
Profile fields (BugID: 1746416, Source: SF.net)
"add profile fields doesnt work with mysql 5.0"
- fixed sql bug so that profilefields can be created in MySQL version 5.x
Profile fields (BugID: 1735033, Source: SF.net)
"Profile field, Type date, update error"
- Profile fields (type "date") are now saved and updated correctly.
Bouncmanagement (Source: Internal)
- fixed bounce scanning for hostnames with hyphen
Profile fields (Source: Internal)
- fixed bug, that prevented editing fields after entering incorrect values
ImportWizard (Source: Internal)
- fixed bug when importing with "ignore null values"
ExportWizard (Source: Internal)
- "tabulator" can now be used as separator
ExportWizard (Source: Internal)
- wizard now saves separator presetting
Mailing overview (Source: Internal)
- fixed sorting in overview (latest mailings first)
Mailing overview (Source: Internal)
- the correct form is now beeing displayed when deactivating an action based mailing
Mailing overview (Source: Internal)
- fixed bug which showed the template by default
Mailing overview (Source: Internal)
- "archive" in template is now beeing used
Mailing overview (Source: Internal)
- fixed layout bug in "send mailing" view
Fullview, Preview (Source: Internal)
- replacing agnTags now works with null-values
Campaign statistics (Source: Internal)
- fixed layout bug
Settings (Source: Internal)
- all available user rights can now be assigned to a user, added necessary message properties
Features in Release 5.1.1
Struts upgrade (Source: Internal)
- upgrade to Struts 1.3.8
language support (Source: Internal)
- added French language support
special thanks to OpenEMM Forum user "arnaud" for providing the message_fr.properties
Profile fields (Source: Internal)
- default values of profile fields can be changed
Settings (Source: Internal)
- added password security bar that shows how secure the chosen password is
<<lessThe OpenEMM code base has been developed since 1999 and is used (as part of the commercial ASP product E-Marketing Manager) by companies like BenQ, CA, IBM, Siemens, Deutsche Telekom, Tiscali, etc.
OpenEMM offers already more than 90% of the functionality of the commercial product and some features the commercial product does not offer right now (i.e. new user interface, MySQL support, etc.).
The main difference is, that OpenEMM is an easy to set up single server solution, while its big brother E-Marketing Manager operates on several distributed servers as software on demand.
Main features:
- use e-mail marketing to manage their customer relations (CRM)
- use e-mail marketing to distribute content from various sources (CMS)
- use e-mail marketing to collect data about recipients and to analyze them (BI)
Enhancements:
Bug Fixes in Release 5.1.1
MailingWizard (BugID: 1746428, Source: SF.net)
"Error in MailingWizard step 7 when no targetgroup is defined"
- added warning message in step 1 if no target group exists
Profile fields (BugID: 1746416, Source: SF.net)
"add profile fields doesnt work with mysql 5.0"
- fixed sql bug so that profilefields can be created in MySQL version 5.x
Profile fields (BugID: 1735033, Source: SF.net)
"Profile field, Type date, update error"
- Profile fields (type "date") are now saved and updated correctly.
Bouncmanagement (Source: Internal)
- fixed bounce scanning for hostnames with hyphen
Profile fields (Source: Internal)
- fixed bug, that prevented editing fields after entering incorrect values
ImportWizard (Source: Internal)
- fixed bug when importing with "ignore null values"
ExportWizard (Source: Internal)
- "tabulator" can now be used as separator
ExportWizard (Source: Internal)
- wizard now saves separator presetting
Mailing overview (Source: Internal)
- fixed sorting in overview (latest mailings first)
Mailing overview (Source: Internal)
- the correct form is now beeing displayed when deactivating an action based mailing
Mailing overview (Source: Internal)
- fixed bug which showed the template by default
Mailing overview (Source: Internal)
- "archive" in template is now beeing used
Mailing overview (Source: Internal)
- fixed layout bug in "send mailing" view
Fullview, Preview (Source: Internal)
- replacing agnTags now works with null-values
Campaign statistics (Source: Internal)
- fixed layout bug
Settings (Source: Internal)
- all available user rights can now be assigned to a user, added necessary message properties
Features in Release 5.1.1
Struts upgrade (Source: Internal)
- upgrade to Struts 1.3.8
language support (Source: Internal)
- added French language support
special thanks to OpenEMM Forum user "arnaud" for providing the message_fr.properties
Profile fields (Source: Internal)
- default values of profile fields can be changed
Settings (Source: Internal)
- added password security bar that shows how secure the chosen password is
Download (40.3MB)
Added: 2007-08-14 License: MPL (Mozilla Public License) Price:
495 downloads
EHNT 0.4
EHNT is a tool which turns streams of Netflow (version 5) data into something useful and human-readable. more>>
EHNT is a tool which turns streams of Netflow (version 5) data into something useful and human-readable. (Netflow is a UDP-based traffic reporting protocol created by Cisco, generated by Cisco, Juniper, Foundry, and other routers.)
Netflow operates in many ways. It will dump flow records in human-readable form. It will also provide reports on top ASes, IP protocols, and tcp/udp ports. The reports can be generated over various intervals, from 1 minute to 1 day.
Component programs are:
1. ehntserv listens to netflow version 5 UDP packets, and also listens for client TCP connections. When a TCP client connects, the server starts forwarding all the netflow packets it receives (plus the IP address of the originating device) to that client.
ehntserv does not currently do any IP access control. I suggest that you use ipchains or iptables on your linux box, or IP Filter (ipf) (http://coombs.anu.edu.au/ipfilter/) on your Solaris or BSD box. I dont know what the current state of packet filtering is on other Unixes; IP Filter seems to support several.
2. ehnt connects to ehntserv and displays the flows it receives in various ways. It currently has four modes (-m ):
- top mode displays average utilization by top ASes, IP protocols, or tcp/udp ports over a given interval (from 1 minute to 1 day).
Top mode is different when it focuses on a single interface on a single router, because then you get to see summaries of source and destionation for both inbound and outbound traffic. Otherwise, you just get summaries of source and destination.
- dump mode displays individual flows
- shortdump mode display individual flows in a more compact but hard
to read fashion
- colondump mode display individual flows in a machine-readable format.
And yes, I recognize that the name of this mode is unpleasant.
In all three modes, simple (REALLY simple) filtering can be done for AS
number, TCP/UDP port, IP protocol number, device sending the flow record,
and SNMP interface index.
You may think of ehnt in the three dump modes as a brain-dead and incredibly
simple tcpdump for netflow.
ehnt also has the silly and uninspiredly-named big filter, in which it
only displays flows with are bigger (in packets or bytes) than any flow
received before it. This only makes sense in the three dump modes.
Enhancements:
- Added Unix domain support for client connections, enabled by default
<<lessNetflow operates in many ways. It will dump flow records in human-readable form. It will also provide reports on top ASes, IP protocols, and tcp/udp ports. The reports can be generated over various intervals, from 1 minute to 1 day.
Component programs are:
1. ehntserv listens to netflow version 5 UDP packets, and also listens for client TCP connections. When a TCP client connects, the server starts forwarding all the netflow packets it receives (plus the IP address of the originating device) to that client.
ehntserv does not currently do any IP access control. I suggest that you use ipchains or iptables on your linux box, or IP Filter (ipf) (http://coombs.anu.edu.au/ipfilter/) on your Solaris or BSD box. I dont know what the current state of packet filtering is on other Unixes; IP Filter seems to support several.
2. ehnt connects to ehntserv and displays the flows it receives in various ways. It currently has four modes (-m ):
- top mode displays average utilization by top ASes, IP protocols, or tcp/udp ports over a given interval (from 1 minute to 1 day).
Top mode is different when it focuses on a single interface on a single router, because then you get to see summaries of source and destionation for both inbound and outbound traffic. Otherwise, you just get summaries of source and destination.
- dump mode displays individual flows
- shortdump mode display individual flows in a more compact but hard
to read fashion
- colondump mode display individual flows in a machine-readable format.
And yes, I recognize that the name of this mode is unpleasant.
In all three modes, simple (REALLY simple) filtering can be done for AS
number, TCP/UDP port, IP protocol number, device sending the flow record,
and SNMP interface index.
You may think of ehnt in the three dump modes as a brain-dead and incredibly
simple tcpdump for netflow.
ehnt also has the silly and uninspiredly-named big filter, in which it
only displays flows with are bigger (in packets or bytes) than any flow
received before it. This only makes sense in the three dump modes.
Enhancements:
- Added Unix domain support for client connections, enabled by default
Download (2.3MB)
Added: 2006-07-03 License: GPL (GNU General Public License) Price:
1209 downloads
A Simple Version Control System 0.9.6
A Simple Version Control System is an easy to install and easy to to use version/revision control system. more>>
A Simple Version Control System is an easy to install and easy to to use version/revision control system.
ASVCS differs from most other version control systems in that ASVCS is designed to keep track of files in place. ASVCS does not allow any changes to be made to files, all changes require the users to change files externally with FTP or SSH access.
ASVCS is very easy to setup and use. Users do not need to work with repository, branches, commit and check-out files. All a user needs to do is upload the changes files and click Update or if enabled just wait for it to be updated automatically.
ASVCS is ideal for small projects or personal use, though it can also be used by large project how do not need or want the complexity of most version control systems.
Main features:
- asy to install and use
- Written in PHP
- Can track binary or text files
- Automatic file tracking (requires cron support)
- Diffs of revisions
- Easy user access management
- Entirely Web based
- Skinable
- Open source (MIT/expat license)
<<lessASVCS differs from most other version control systems in that ASVCS is designed to keep track of files in place. ASVCS does not allow any changes to be made to files, all changes require the users to change files externally with FTP or SSH access.
ASVCS is very easy to setup and use. Users do not need to work with repository, branches, commit and check-out files. All a user needs to do is upload the changes files and click Update or if enabled just wait for it to be updated automatically.
ASVCS is ideal for small projects or personal use, though it can also be used by large project how do not need or want the complexity of most version control systems.
Main features:
- asy to install and use
- Written in PHP
- Can track binary or text files
- Automatic file tracking (requires cron support)
- Diffs of revisions
- Easy user access management
- Entirely Web based
- Skinable
- Open source (MIT/expat license)
Download (0.10MB)
Added: 2007-03-15 License: MIT/X Consortium License Price:
960 downloads
Dominion 2.8.2
Dominion is a multi-playerworld simulation and role-playing game. more>>
Dominion is a multi-playerworld simulation and role-playing game. Each user controls a nation, making economic, political and military decisions for it.
This is a world simulation game developed initially by students at SUNY at Stony Brook, and then by students at Stony Brook and other universities. The intention is to write a game which offers the role playing potential and complexity of relations found in conquer (written by Ed Barlow, then picked up by Adam Bryant). The plan is to
extend the game by offering general descriptions of many features (such as races, magic spells, armies, spirits and technology powers). For example, the races of the world are not limited to 4 hard-coded races, but are described in a file which can be modified at any point in the game by the Game Master. The same goes for army and spirit types.
Dominion is *not* another version of conquer; things work quite differently, and we have *never* looked at the conquer source. Still, we acknowledge this most creative game which gave us our inspiration. In September 1990, the author of conquer version 5 has heard of many of the features of dominion, and has included them in conquer version 5. He has acknowledged that these ideas come from Dominion.
The Game Master is given a nation, but this nation is sort of "fragile", since it has no sectors, and such stuff. We should make it more solid, but meanwhile it is to be used mostly for its [E] command, which allows the Game Master (who logs into the game as "Gamemaster") to change the properties of a sector or of a nation.
Dominion development started in the spring of 1990, when Mark Galassi was running a game of conquer for graduate and undergraduate students at at Stony Brook. After the data file kept crashing, and a whole lot of inconsistencies were discovered, and we found that the source was too complex to be fixed, we decided to write our own replacement. Ed Barlow did a great job with conquer, and it is a great game, but it
was his first C program, and people who added to it kept the endless case statements, and the special cases, and worked on new features rather than re-writing. The original name of Dominion was Stony Brook World (sbw), but it has been named Dominion since version 1.02.
In many ways Dominion was a teaching project intended to teach many Stony Brook undergraduate CS majors to work on a large software development project. Once the project reached a certain size, people from other universities joined in the development.
One goal of dominion is that the ruler of a nation should always have many choices available on how to invest resources, each one presenting strong but distinct advantages. Conquer contains both a good and a bad example of this: you can invest metal in cities, ships or armies. Either way you get advantages, and you have to choose. On the other hand, jewels are really not used for much else than getting magic powers. You can also use them to support monsters, but that is a different order of magnitude, and few players get the monsters. In dominion, there should be several decisions you can make to invest all your resources.
Kevin Hart has been working on the CN code which allows the computer to play various nations. Starting with version 1.05, the computer-played CNs have begun posing a real challenge in the game.
<<lessThis is a world simulation game developed initially by students at SUNY at Stony Brook, and then by students at Stony Brook and other universities. The intention is to write a game which offers the role playing potential and complexity of relations found in conquer (written by Ed Barlow, then picked up by Adam Bryant). The plan is to
extend the game by offering general descriptions of many features (such as races, magic spells, armies, spirits and technology powers). For example, the races of the world are not limited to 4 hard-coded races, but are described in a file which can be modified at any point in the game by the Game Master. The same goes for army and spirit types.
Dominion is *not* another version of conquer; things work quite differently, and we have *never* looked at the conquer source. Still, we acknowledge this most creative game which gave us our inspiration. In September 1990, the author of conquer version 5 has heard of many of the features of dominion, and has included them in conquer version 5. He has acknowledged that these ideas come from Dominion.
The Game Master is given a nation, but this nation is sort of "fragile", since it has no sectors, and such stuff. We should make it more solid, but meanwhile it is to be used mostly for its [E] command, which allows the Game Master (who logs into the game as "Gamemaster") to change the properties of a sector or of a nation.
Dominion development started in the spring of 1990, when Mark Galassi was running a game of conquer for graduate and undergraduate students at at Stony Brook. After the data file kept crashing, and a whole lot of inconsistencies were discovered, and we found that the source was too complex to be fixed, we decided to write our own replacement. Ed Barlow did a great job with conquer, and it is a great game, but it
was his first C program, and people who added to it kept the endless case statements, and the special cases, and worked on new features rather than re-writing. The original name of Dominion was Stony Brook World (sbw), but it has been named Dominion since version 1.02.
In many ways Dominion was a teaching project intended to teach many Stony Brook undergraduate CS majors to work on a large software development project. Once the project reached a certain size, people from other universities joined in the development.
One goal of dominion is that the ruler of a nation should always have many choices available on how to invest resources, each one presenting strong but distinct advantages. Conquer contains both a good and a bad example of this: you can invest metal in cities, ships or armies. Either way you get advantages, and you have to choose. On the other hand, jewels are really not used for much else than getting magic powers. You can also use them to support monsters, but that is a different order of magnitude, and few players get the monsters. In dominion, there should be several decisions you can make to invest all your resources.
Kevin Hart has been working on the CN code which allows the computer to play various nations. Starting with version 1.05, the computer-played CNs have begun posing a real challenge in the game.
Download (0.47MB)
Added: 2006-06-08 License: GPL (GNU General Public License) Price:
1239 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 version 5 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